新的键/值对不插入多维数组

时间:2016-11-21 13:22:07

标签: php arrays multidimensional-array

我正在尝试搜索多维数组中存在的值,如果存在则添加新的键/值对。但我无法插入新的键/值对。多维数组$ data如下所示。

Array ( [0] => Array ( [num] => +12000000000 [state] => eeee ) 
        [1] => Array ( [num] => +12000000001 [state] => ) )

另一个正常数组$ i是

Array ( [Sss] => +12000000000 [MS] => +12000000001 [KNum] => +919000000000 )

使用以下内容在$ data数组中搜索$ i中的num。

foreach($i as $key => $value){
   $s[]= searchForId($value, $data,$key);   //Edited
}


function searchForId($id, $array, $k) {
    foreach ($array as $key => $val) {
        if ($val['num'] === $id) {
            //return $key;
            echo "<br>------" . $key;
            echo "<br>------" . $k;
            echo "<br>------" . $id;
            $array[$key]=$k;
            $array[$key]['name']=$k;
            return $array;   //Edited
        }
    }
    return null;
}

我尝试了下面提到的两个选项,但没有在$ data多维数组中插入值。这有什么不对?

$array[$key]=$k;
$array[$key]['name']=$k;

1 个答案:

答案 0 :(得分:0)

PHP函数trans参数的值,而不是引用(折旧),如果你想修改paremeter,返回它。