如何在php

时间:2015-10-05 07:47:40

标签: php arrays

我想在每个子数组的末尾添加新元素

$a1 =   array(
            array('name'=>"Dog",'cate'=>"Cat"), 
            array('name'=>"Puppy",'cate'=>"Kitten"), 
            array('name'=>"happy",'cate'=>"lucky")
        );

这里我想在每个子数组中的“cate”之后添加'test'=>“test”。 我已经尝试过使用地图,但它不起作用。我希望得到这样的结果:

$a1 =   array(
            array('name'=>"Dog",'cate'=>"Cat",'test'=>"test"), 
            array('name'=>"Puppy",'cate'=>"Kitten",'test'=>"test"), 
            array('name'=>"happy",'cate'=>"lucky",'test'=>"test")
        );

怎么可能。

3 个答案:

答案 0 :(得分:0)

您可以尝试array_map -

$a1 = array(
        array('name'=>"Dog",'cate'=>"Cat"), 
        array('name'=>"Puppy",'cate'=>"Kitten"), 
        array('name'=>"happy",'cate'=>"lucky")
    );

$new = array_map(function($x) {
    $x['test'] = 'test';
    return $x;
}, $a1);

<强>更新

$new = array_map(function($x) use($message) {
    $x['test'] = $message;
    return $x;
}, $a1);

答案 1 :(得分:0)

我不知道你究竟尝试了什么,但这个数组地图会起作用:

$a1 = array_map(function (array $a) { return $a + array('test' => 'test'); }, $a1);

答案 2 :(得分:0)

只需循环数组并将值添加到其中的每个数组中。

foreach($a1 as $k => $v) {
  $a1[$k][$newkey] = $newvalue;
}