如何在php中编辑多维数组元素?

时间:2015-04-18 08:56:14

标签: php arrays multidimensional-array

这是我的阵列:

  $array=  array(3) { 
[0]=> array(3) { ["name"]=> "one"   ["com"]=>  "com1"  ["id"]=> "1" } 
[1]=> array(3) { ["name"]=> "two"  ["com"]=>  "com2"   ["id"]=> "2"  }
[2]=> array(3) { ["name"]=> "three"  ["com"]=>  "com3" ["id"]=> "3"  }

我需要能够更改name和com的值以获取特定的id。我从Stack问题中尝试了一些例子:

1。Link1

foreach($array as &$value){
    if($value['id'] == 1){
        $value['name'] = 'test';
        $value['com'] = 'test';
        break; // Stop the loop after we've found the item
    }
}

但它不起作用。没有错误但没有结果。

2。Link 2

同样,没有错误信息,但没有结果......

我还尝试了很多来自Stack的其他例子但是假的,最后写了一个问题..

买, P

3 个答案:

答案 0 :(得分:1)

由于您没有更改数组值,这就是为什么它没有给您所需的输出。试试这个: -

foreach($array as $key => &$value){
    if($key == 1){
        $array[1]['name'] = 'test';// change value to original array
        $array[1]['com'] = 'test'; //change value to original array
        break; // Stop the loop after we've found the item
    }
}

答案 1 :(得分:0)

for($i=0;$i<count($array);$i++) {
    if($array[$i]['id'] == 1) {
        $array[$i]['name'] = 'test';
        $array[$i]['com'] = '';
        break;
    }
}

print_r($array);

答案 2 :(得分:0)

如果您能够在创建时更改数组,我建议将id转移到数组的密钥标识符。只会让生活变得更轻松:

$array[1]['name'] = 'test';

否则使用上面发布的for循环查找。 (右边的芒果)