note 51203 added to function.array-map

From: Date: Wed, 23 Mar 2005 13:31:05 +0000
Subject: note 51203 added to function.array-map
Groups: php.notes 
Request: Send a blank email to php-notes+get-86841@lists.php.net to get a copy of this message
The following function does exaclty the same thing of array_map. However, maintains the same index of the input arrays <?php function array_map_keys($param1,$param2,$param3=NULL) { $res = array(); if ($param3 !== NULL) { foreach(array(2,3) as $p_name) { if (!is_array(${'param'.$p_name})) { trigger_error(__FUNCTION__.'(): Argument #'.$p_name.' should be an array',E_USER_WARNING); return; } } foreach($param2 as $key => $val) { $res[$key] = call_user_func($param1,$param2[$key],$param3[$key]); } } else { if (!is_array($param2)) { trigger_error(__FUNCTION__.'(): Argument #2 should be an array',E_USER_WARNING); return; } foreach($param2 as $key => $val) { $res[$key] = call_user_func($param1,$param2[$key]); } } return $res; } ?> For instance: <?php $arr1 = array( '3' => 'a', '4' => 'b', '5' => 'c' ); $arr2 = array( '3' => 'd', '4' => 'e', '5' => 'f' ); $arr3 = array_map_keys(create_function('$a,$b','return $a.$b;'),$arr1,$arr2); print_r($arr3); ?> The result will be: Array ( [3] => ad [4] => be [5] => cf ) ---- Manual Page -- http://www.php.net/manual/en/function.array-map.php Edit -- http://master.php.net/manage/user-notes.php?action=edit+51203 Delete: added to the manual -- http://master.php.net/manage/user-notes.php?action=delete+51203&report=yes&reason=added+to+the+manual Delete: bad code -- http://master.php.net/manage/user-notes.php?action=delete+51203&report=yes&reason=bad+code Delete: spam -- http://master.php.net/manage/user-notes.php?action=delete+51203&report=yes&reason=spam Delete: useless -- http://master.php.net/manage/user-notes.php?action=delete+51203&report=yes&reason=useless Delete: other reasons -- http://master.php.net/manage/user-notes.php?action=delete+51203&report=yes Reject -- http://master.php.net/manage/user-notes.php?action=reject+51203&report=yes Search -- http://master.php.net/manage/user-notes.php

« previous php.notes (#86841) next »