PHP数组未设置
以下代码(在php 5.3.5和5.2.13中执行): 见:PHP数组未设置,php,arrays,unset,array-unset,Php,Arrays,Unset,Array Unset,以下代码(在php 5.3.5和5.2.13中执行): 见: 谢谢你的帮助 这是因为您从$i=0开始而不是新的第一个索引1。缺少最后一个元素,因为它在第二个(以前是第三个)元素之前停止,因为大小已减小为2。这将得到您想要的结果: foreach($res as $value) { echo $value . '<br />'; } foreach($res作为$value){ 回显$value.“”; } 因为在取消设置后数组大小=2 基本上使用错误报告(E\u ALL)进
谢谢你的帮助 这是因为您从
$i=0开始代码>而不是新的第一个索引1。缺少最后一个元素,因为它在第二个(以前是第三个)元素之前停止,因为大小已减小为2。这将得到您想要的结果:
foreach($res as $value) {
echo $value . '<br />';
}
foreach($res作为$value){
回显$value.“
”;
}
因为在取消设置后
数组大小=2
基本上使用错误报告(E\u ALL)
进行开发,它将帮助您这并不是预期的效果,因为当您取消设置时,因此sizeof()返回2。因此,在0上循环到小于2(也称为1)
因此,它将只显示索引1处的元素,因为您将元素取消设置为0
一个简单的修复方法是使用foreach循环:
foreach($res as $value){
echo $value .'<br />';
}
foreach($res作为$value){
回显$value.“
”;
}
PHP不会在unset上重新排列键。取消设置后的键是1
和2
。在for循环中,i
获取0
和1
值。使用此代码段,您应该初始化数组的第一个键i
到1
提示1:用于在数组上进行数据共享。
提示2:不要使用别名。使用instad of.它正在迭代2次,第一次通过它访问索引0(您已取消设置),第二次访问索引1(您看到输出)。即使只有两个元素,在索引1和2,您仍然从原始索引开始
print_r($res);
Array ( [1] => 2 [2] => 3 )
foreach($res as $value) {
echo $value . '<br />';
}
foreach($res as $value){
echo $value .'<br />';
}