Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/unit-testing/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
PHP数组未设置_Php_Arrays_Unset_Array Unset - Fatal编程技术网

PHP数组未设置

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)进

以下代码(在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)
进行开发,它将帮助您

这并不是预期的效果,因为当您取消设置时,因此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 />';
}