【发布时间】:2020-07-27 00:18:27
【问题描述】:
我遇到了一个奇怪的问题,在我遍历一个数组后,我可以从第一行获取所有第一个值,但在那一行之后,所有值都是空白的。
我有一个这样的数组(还有很多我只是缩短了它)
Array
(
[data] => Array
(
[0] => Array
(
[id] => 76
)
[1] => Array
(
[id] => 77
)
[2] => Array
(
[id] => 78
)
)
)
在我的 php 中,我使用循环遍历数组
$result = json_decode(json_encode($result), true);
$i = 2;
for ($x = 0; $x <= $i; $x++) {
// I do stuff here
}
如果我像下面那样循环遍历数组,第一个值进入但最后两个是空白的,所以我得到(76)
$result = json_decode(json_encode($result), true);
$i = 2;
for ($x = 0; $x <= $i; $x++) {
echo $result['data'][$x]['id'];
}
所以我检查了$x 以确保值是正确的(0,1,2) 并且它们回显为012
这就是奇怪的地方。如果我手动输入数字和echo,我会得到所有三行的正确值
echo $result['data'][0]['id'];
echo $result['data'][1]['id'];
echo $result['data'][2]['id'];
然后,我得到767778
我到底做错了什么?
【问题讨论】:
-
无法复制:3v4l.org/V8ksG
-
@Nick 是的,我知道这让我大吃一惊,哈哈