PHP While循环注意:未定义的偏移量
我正在修复一个现有的PHP代码 我犯了一个错误PHP While循环注意:未定义的偏移量,php,while-loop,Php,While Loop,我正在修复一个现有的PHP代码 我犯了一个错误 注意:未定义的偏移量:6 PHP代码如下所示。这是一个大的while循环。这里我只展示主要部分 $data = Array ( [0] => 1 ) $data2 = Array ( [0] => 1 [1] => 10 [2] => 12 [3] => 15 [4] => 17 [5] => 23 ) $i = 0; while($data[$
注意:未定义的偏移量:6
PHP代码如下所示。这是一个大的while循环。这里我只展示主要部分
$data = Array
(
[0] => 1
)
$data2 = Array
(
[0] => 1
[1] => 10
[2] => 12
[3] => 15
[4] => 17
[5] => 23
)
$i = 0;
while($data[$i]){
array_push($data,$data2);
$i++;
}
而且
有时,我会犯错误
注意:未定义的偏移量:4
为了
如何解决此问题?您应该使用foreach迭代数组:
foreach($data as $key => $value) {}
while
的警告是,您必须检查此阵列位置是否正确存在。改用这个:
while(isset($data[$i])){}
改为尝试一个
foreach
循环:while(isset($data[$i])){
条件必须是布尔值TRUE
或FALSE
。尽管您最好使用foreach
循环遍历数组。什么???我不明白您在这里做什么…您正在将整个数组$data2
添加到$data
的末尾,而$data中有一个值de>这听起来毫无意义…?@JuniusRendel我知道这段代码令人困惑。我仍在试图弄清楚开发人员在编写这段代码时的想法。注意:在while
条件中使用isset
,因为该条件需要等同于布尔TRUE
/FALSE
;而isset
将do(也处理未定义的偏移量)。感谢Richard Reiber和@ʰᵈˑ
while(isset($data[$i])){}