$test = [
0 => [
'id' => 1,
'name' => 'test'
],
1 => [
'id' => 2,
'name' => 'test'
]
];
和一个简单的迭代foreach,试图将一个带有值的键添加到数组中
foreach($test as $t) {
$t['test'] = 'add';
}
为什么不以这种方式将密钥添加到数组中?找到工作选项,只是想知道为什么第一个选项不起作用
foreach($test as $key => $t) {
$test[$key]['test'] = 'add';
}
因为这里,在迭代的时候,一个新的元素被写入到一个变量
$t中(就像创建了一个新的独立元素一样)。如果要更改它,只需指定$t它使用对数组元素的引用,如下所示:然后变量
$t将引用一个数组元素。