【发布时间】:2025-12-03 23:35:01
【问题描述】:
我用过foreach、&、++、+1。
一般来说,++ 与 +1 是一回事。
但是 ++ != 此代码上的 +1(php7.3.4),为什么?
$data1 = $data2 = [
['id' => 0],
['id' => 1],
['id' => 2],
];
foreach ($data1 as $key => &$val) {
$val['id'] = $val['id']++;
}
foreach ($data2 as $key => &$val) {
$val['id'] = $val['id']+1;
}
var_dump($data1 == $data2); // false. why?
我修改了这段代码
foreach ($data1 as $key => &$val) {
// $val['id'] = $val['id']++;
$val['id']++;
}
结果是true。
但我不知道为什么$val['id'] = $val['id']++ != $val['id']++?
【问题讨论】:
-
我知道你的意思。但这不是我想要的。我使用了 ++ 和 +1。
-
尝试使用
$val['id']++;而不是第一个分配。 -
是的,我使用了
$val['id']++并且值为 true。 @Nigel Ren。
标签: php