如何在PHP 5.6中向索引数组添加新值

时间:2018-07-14 14:49:53

标签: php arrays

这是我的值数组:

Array ( 
[1] => Array ( [id_category] => 2 [name] => Główna ) 
[2] => Array ( [id_category] => 61 [name] => Test )

我要为每个索引添加新的键和值。例如:“ id_parent”。因此结果应该是这样的:

Array ( 
    [1] => Array ( [id_category] => 2 [name] => Główna [id_parent] => 0) 
    [2] => Array ( [id_category] => 61 [name] => Test [id_parent] => 0)

如何添加新密钥?下面我显示带有注释的php代码

$array = $this->getAllCategoriesFromShop();//array like in example
        foreach ($array AS $addValue)
        {
            $addValue[] = array('id_parent' => '3');
            $result = array_merge($addValue, $array);
        }
        return $result;

感谢帮助。

3 个答案:

答案 0 :(得分:2)

使用&(通过引用传递)更新foreach上的当前数组元素

$array = array ( 
    array ( "id_category" => 2, "name" => 'Główna' ), 
    array ( "id_category" => 61, "name" => 'Test' )
);

foreach ($array as &$addValue)
{
    $addValue['id_parent'] = 3;
}

echo "<pre>";
print_r( $array );
echo "</pre>";

这将导致:

Array
(
    [0] => Array
        (
            [id_category] => 2
            [name] => Główna
            [id_parent] => 3
        )

    [1] => Array
        (
            [id_category] => 61
            [name] => Test
            [id_parent] => 3
        )

)

答案 1 :(得分:0)

尝试一下

    $array = $this->getAllCategoriesFromShop();
    foreach ($array AS $key => $value)
    {
        $array[$key]['id_parent'] = 3;
    }
    return $array;

答案 2 :(得分:-1)

<?php

$data =
[
    ['fruit'=>'orange'],
    ['fruit'=>'apple']
];

foreach($data as $k=>$v)
    $data[$k]['veg'] = 'courgette';

var_export($data);

输出:

array (
    0 => 
    array (
    'fruit' => 'orange',
    'veg' => 'courgette',
    ),
    1 => 
    array (
    'fruit' => 'apple',
    'veg' => 'courgette',
    ),
)