我循环遍历数组(在PHP中)并根据一些字符串值将数据推送到其他一些数组。这是我的代码:
for ($x = 0; $x <= sizeof($matchesAdressRightValues); $x++) {
$searchSucces = 'Geocoding with parameters';
$searchUnSucces = 'Unsuccessful';
//echo(strpos($matchesSuccessRightValues[$x][0], $searchSucces));
if(strpos($matchesSuccessRightValues[$x][0], $searchSucces) !== FALSE) {
array_push($arraySucUnsuc,'success');
array_push($arrayAddress,$matchesAdressRightValues[$x][0]);
}
else if (strpos($matchesSuccessRightValues[$x][0], $searchUnSucces) !== FALSE){
array_push($arraySucUnsuc,'not_success');
array_push($arrayAddress,$matchesAdressRightValues[$x][0]);
}
} // end for
当我执行此操作时,我收到一条警告消息:
注意:未定义的偏移量:/home /enomix/www/wind/geocoding/myWebCrawler.php中的行 81
第81行是:
if(strpos($matchesSuccessRightValues[$x][0], $searchSucces) !== FALSE)
如果我尝试通过在$ x中放置随机值来回显数组$ matchesSuccessRightValues [$ x] [0],那么我会正确地得到结果。所以我知道我并没有脱离索引。
我的数组看起来像这样:
Array
(
[0] => Array
(
[0] => 28 ΟΚΤΩΒΡΙΟΥ 11,27100,ΗΛΕΙΑ,ΠΥΡΓΟΣ
[2015/06/21 03:10:51]使用参数进行地理编码:城市 )
[1] => Array
(
[0] => ΜΑΝΩΛΟΠΟΥΛΟΥ 11,27100,ΗΛΕΙΑ,ΠΥΡΓΟΣ
[2015/06/21 03:42:54]使用参数进行地理编码:城市 )
[2] => Array..........
奇怪的是,新生成的数组的大小:$ arrayAddress(因为虽然我收到警告,但是生成了!)小于初始数组$ matchesAdressRightValues的大小。
知道我在这里缺少什么吗?