swa*_*er7 2 php arrays unset array-unset
这里的代码(在php 5.3.5和5.2.13中执行):
$res = array(1, 2, 3);
unset($res[0]);
for($i = 0; $i < sizeof($res); $i++)
{
echo $res[$i] . '<br />';
}
Run Code Online (Sandbox Code Playgroud)
结果我看到了
<br />2<br />
Run Code Online (Sandbox Code Playgroud)
为什么只有一个元素,并且首先是空的?不明白.做的时候:
print_r($res);
Run Code Online (Sandbox Code Playgroud)
看到:
Array ( [1] => 2 [2] => 3 )
Run Code Online (Sandbox Code Playgroud)
Thanx寻求帮助!
这是因为你$i = 0;从而不是1 开始,这是新的第一个索引.最后一个元素缺失,因为它在第二个(之前是第三个)元素之前停止,因为大小已经减少到2.这应该得到你想要的结果:
foreach($res as $value) {
echo $value . '<br />';
}
Run Code Online (Sandbox Code Playgroud)