PHP - 嵌套的 Foreach 更改原始数组值
PHP - Nested Foreach Change Original Array Values
我有一个多维关联数组,我使用两个 foreach 来迭代它们,我需要从原始数组更改一个值,这里是我的代码的表示和我尝试过的内容:
$array = [
['id' => 1, 'customers' => [['customerName' => 'Daniel', 'age' => 20, 'isYoung' => false], ['customerName' => 'Patrick', 'age' => 56, 'isYoung' => false]]],
['id' => 4, 'customers' => [['customerName' => 'Paul', 'age' => 41, 'isYoung' => false]]]
];
foreach($array as $key => $value) {
foreach($value['customers'] as $sKey => $sValue {
if($sValue['age'] < 35) {
$array[$key]['customers'][$sKey]['isYoung'] = true; //Doesnt Work
$value['customers'][$sKey]['isYoung'] = true; //Doesnt Work
}
}
}
有线索吗?
第一个作业适合我。但是你可以通过使用迭代变量的引用变量来简化它。
foreach($array as &$value) {
foreach($value['customers'] as &$sValue) {
if($sValue['age'] < 35) {
$sValue['isYoung'] = true;
}
}
}
我有一个多维关联数组,我使用两个 foreach 来迭代它们,我需要从原始数组更改一个值,这里是我的代码的表示和我尝试过的内容:
$array = [
['id' => 1, 'customers' => [['customerName' => 'Daniel', 'age' => 20, 'isYoung' => false], ['customerName' => 'Patrick', 'age' => 56, 'isYoung' => false]]],
['id' => 4, 'customers' => [['customerName' => 'Paul', 'age' => 41, 'isYoung' => false]]]
];
foreach($array as $key => $value) {
foreach($value['customers'] as $sKey => $sValue {
if($sValue['age'] < 35) {
$array[$key]['customers'][$sKey]['isYoung'] = true; //Doesnt Work
$value['customers'][$sKey]['isYoung'] = true; //Doesnt Work
}
}
}
有线索吗?
第一个作业适合我。但是你可以通过使用迭代变量的引用变量来简化它。
foreach($array as &$value) {
foreach($value['customers'] as &$sValue) {
if($sValue['age'] < 35) {
$sValue['isYoung'] = true;
}
}
}