array_walk()

向函数传递数组值array_walk()
$fruits = array("d" => "lemon", "a" => "orange", "b" => "banana", "c" => "apple");

function test_alter(&$item1, $key, $prefix)
{
    $item1 = "$prefix: $item1";
}

function test_print($item2, $key)
{
    echo "$key. $item2<br />\n";
}

echo "Before ...:\n";
array_walk($fruits, 'test_print');

array_walk($fruits, 'test_alter', 'fruit');
echo "... and after:\n";

array_walk($fruits, 'test_print');

/*Before ...: d. lemon
a. orange
b. banana
c. apple
... and after: d. fruit: lemon
a. fruit: orange
b. fruit: banana
c. fruit: apple*/

function myfunc1tion($value,$key)
{
    echo "The key $key has the value $value<br>";
}
$a=array("a"=>"red","b"=>"green","c"=>"blue");
array_walk($a,"myfunc1tion");
/*The key a has the value red
The key b has the value green
The key c has the value blue*/

$arr = array(
    'num' => array('111','222'),
    'ip' => array('ip1','ip2')
);
$result = array();

foreach($arr as $key => $value) {
    $i = 0;
    foreach($value as $data) {
        $result[$i][$key] = $data;
        ++$i;
    }
}
$result=json_encode($result);

print_r($result);
echo "<br>";
//[{"num":"111","ip":"ip1"},{"num":"222","ip":"ip2"}]


function myfunction($value,$key)
{
// echo "The key $key has the value $value<br>";
    var_dump($value);
}


$a=array(
    '0'=>array("id"=>"1","a"=>"red","b"=>"green","c"=>"blue"),
    '1'=>array("id"=>"1","a"=>"back","b"=>"go","c"=>"yew"),
    '3'=>array("id"=>"2","a"=>"red","b"=>"green","c"=>"blue"),
    '4'=>array("id"=>"3","a"=>"back","b"=>"go","c"=>"yew"),
    '5'=>array("id"=>"1","a"=>"red","b"=>"green","c"=>"blue"),
    '6'=>array("id"=>"1","a"=>"back","b"=>"go","c"=>"yew")
);
array_walk($a,"myfunction");
echo "<br>";

/*D:\phpStudy\PHPTutorial\WWW\php\manual\array.php:247:
array (size=4)
  'id' => string '1' (length=1)
  'a' => string 'red' (length=3)
  'b' => string 'green' (length=5)
  'c' => string 'blue' (length=4)
D:\phpStudy\PHPTutorial\WWW\php\manual\array.php:247:
array (size=4)
  'id' => string '1' (length=1)
  'a' => string 'back' (length=4)
  'b' => string 'go' (length=2)
  'c' => string 'yew' (length=3)
D:\phpStudy\PHPTutorial\WWW\php\manual\array.php:247:
array (size=4)
  'id' => string '2' (length=1)
  'a' => string 'red' (length=3)
  'b' => string 'green' (length=5)
  'c' => string 'blue' (length=4)
D:\phpStudy\PHPTutorial\WWW\php\manual\array.php:247:
array (size=4)
  'id' => string '3' (length=1)
  'a' => string 'back' (length=4)
  'b' => string 'go' (length=2)
  'c' => string 'yew' (length=3)
D:\phpStudy\PHPTutorial\WWW\php\manual\array.php:247:
array (size=4)
  'id' => string '1' (length=1)
  'a' => string 'red' (length=3)
  'b' => string 'green' (length=5)
  'c' => string 'blue' (length=4)
D:\phpStudy\PHPTutorial\WWW\php\manual\array.php:247:
array (size=4)
  'id' => string '1' (length=1)
  'a' => string 'back' (length=4)
  'b' => string 'go' (length=2)
  'c' => string 'yew' (length=3)*/

$a=array(
    '0'=>array("id"=>"1","a"=>"red","b"=>"green","c"=>"blue"),
    '1'=>array("id"=>"1","a"=>"back","b"=>"go","c"=>"yew"),
    '3'=>array("id"=>"2","a"=>"red","b"=>"green","c"=>"blue"),
    '4'=>array("id"=>"3","a"=>"back","b"=>"go","c"=>"yew"),
    '5'=>array("id"=>"1","a"=>"red","b"=>"green","c"=>"blue"),
    '6'=>array("id"=>"1","a"=>"back","b"=>"go","c"=>"yew")
);

$b=array(
    '0'=>array("id"=>"1","a"=>"red","b"=>"green","c"=>"blue","d"=>"want"),
    '1'=>array("id"=>"1","a"=>"back","b"=>"go","c"=>"yew","d"=>"want"),
    '3'=>array("id"=>"2","a"=>"red","b"=>"green","c"=>"blue","d"=>"want"),
    '4'=>array("id"=>"3","a"=>"back","b"=>"go","c"=>"yew","d"=>"want"),
    '5'=>array("id"=>"1","a"=>"red","b"=>"green","c"=>"blue","d"=>"want"),
    '6'=>array("id"=>"1","a"=>"back","b"=>"go","c"=>"yew","d"=>"want")
);
array_walk($a,function(&$value,$key) use($b){
    foreach ($b as $val) {
        if($value['id']==$val['id']){
            $value['new'][]=$val['d'];
        }
    }

});

print_r($a);
echo "<br>";
/*Array (
[0] => Array ( [id] => 1 [a] => red [b] => green [c] => blue [new] => Array ( [0] => want [1] => want [2] => want [3] => want ) )
[1] => Array ( [id] => 1 [a] => back [b] => go [c] => yew [new] => Array ( [0] => want [1] => want [2] => want [3] => want ) )
[3] => Array ( [id] => 2 [a] => red [b] => green [c] => blue [new] => Array ( [0] => want ) )
[4] => Array ( [id] => 3 [a] => back [b] => go [c] => yew [new] => Array ( [0] => want ) )
 [5] => Array ( [id] => 1 [a] => red [b] => green [c] => blue [new] => Array ( [0] => want [1] => want [2] => want [3] => want ) )
 [6] => Array ( [id] => 1 [a] => back [b] => go [c] => yew [new] => Array ( [0] => want [1] => want [2] => want [3] => want ) ) ) */
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值