删除了最里面的foreach
上的一些代码,我正在尝试更改HERE
以使其更改原始值。基本上,我想传递一个指针并修改它。我可以在foreach中使用&$
关键字来做到这一点,但(正如文档所述)它会导致一些错误行为,我正在尝试按照他们和其他人的建议来做。问题是,我找到的所有示例都是针对单个foreach的,而不是针对嵌套的。
下面的代码正确地循环,但是当我到达HERE
时,它实际上并没有改变原始值。值得一提的是,$sources
可以是数组数组(按索引)或键值数组。不过,这段循环代码似乎可以很好地迭代这两个值,只是没有覆盖$sources
的原始值
顺便说一句,在&$
上我也尝试过:
$sources[$sourceKey][$rowKey][$cellKey] = $date->format('m/d/Y');
如果我打印它,哪个$sources[$sourceKey][$rowKey][$cellKey]
会返回正确的值,但它仍然不会覆盖原始数组。
function convertDates($sources) {
foreach($sources as $sourceKey => $sourceValue){
foreach ($sourceValue as $rowKey => $rowValue) {
foreach ($rowValue as $cellKey => $cellValue) {
HERE = $date->format('m/d/Y');
}
}
}
}
https://stackoverflow.com/questions/51220403
复制