在n数组中,每个元素都是一个关联数组,在每个子数组上我想用这个函数推送相同的字段,但它不起作用。
function setButton($data){
foreach ($data as $field) {
$field['button'] = '<input data-id="'.$field['id'].'" type="submit">';
}
return $data;
}
答案 0 :(得分:3)
您只是在编辑foreach中的$field
元素,但实际上并未编辑原始的$data
数组。
foreach
循环的工作原理是将每个值复制到临时变量中。
如果要编辑原始阵列,可以使用两种解决方案:
使用&amp;参数传递值。 :
foreach ($data as &$field) {
$field['button'] = '<input data-id="'.$field['id'].'" type="submit">';
}
或使用$key=>$value
表示法并编辑原始数组:
foreach ($data as $key => $field) {
$data[$key]['button'] = '<input data-id="'.$field['id'].'" type="submit">';
}
答案 1 :(得分:0)
因为你的钥匙不是动态的。所以,每次都压倒一切。
function setButton($data){
foreach ($data as $field) {
$field[]['button'] = '<input data-id="'.$field['id'].'" type="submit">';
}
return $data;
}