【发布时间】:2018-06-18 20:19:24
【问题描述】:
假设我有一个这样的多维数组
$myArray = [
0 = [
fruit = 'apple',
juice = 'orange',
cars = [bmw = 'blue', audi = 'red', ford = 'yellow']
],
1 = [
fruit = 'strawberry',
juice = 'grape',
cars = [bmw = 'grey', mazda = 'blue', hummer = 'orange']
],
]
还有一些汽车的替换数组值
$replaceCarsArray = [ferrari = 'red', lamborghini = 'blue, masarati = 'pink']
我用 $key => &$values 遍历数组(通过引用传递值)
foreach ($myArray as $key => &$values) {
foreach ($values as $key2 => &$value) {
if ($key2 == 'cars'){
$value = $replaceCarsArray;
}
}
}
有效并用 $replaceCarsArray 替换整个汽车值
但是如果我想定位汽车数组中的一个项目并更改颜色怎么办?所以这就是我尝试过的:
foreach ($myArray as $key => &$values) {
foreach ($values as $key2 => &$value) {
if ($key2 == 'cars' && $value['bmw'] != 'red'){
$value['bmw'] = 'red';
}
}
}
但这似乎不起作用,并且 bmw 颜色没有更新为红色。我将如何更改这些数据?
请注意,这是示例数据,我为所有意图和目的非常快速地编写了它,我确实可以访问所有值,并且我的代码中没有任何可能出现在这里的语法错误。 em>
【问题讨论】:
-
您的代码有效,不要欺骗我们 - eval.in/932762
标签: php multidimensional-array foreach reference