在PHP For循环中获取未定义的偏移量
这些就是我得到的错误 (!)注意:第35行C:\wamp64\www\searches.php中未定义的偏移量:1 调用堆栈 (!)注意:第35行C:\wamp64\www\searches.php中未定义的偏移量:2 (!)注意:第42行C:\wamp64\www\searches.php中未定义的偏移量:2 第35行是在PHP For循环中获取未定义的偏移量,php,arrays,Php,Arrays,这些就是我得到的错误 (!)注意:第35行C:\wamp64\www\searches.php中未定义的偏移量:1 调用堆栈 (!)注意:第35行C:\wamp64\www\searches.php中未定义的偏移量:2 (!)注意:第42行C:\wamp64\www\searches.php中未定义的偏移量:2 第35行是$totalSum=$totalSum+$amyernumbers[1][$x] 这是整个for循环的一部分 preg_match_all('/(\d)\s<span&g
$totalSum=$totalSum+$amyernumbers[1][$x]代码>
这是整个for循环的一部分
preg_match_all('/(\d)\s<span>year/', $amItemYEAR, $amYearNumbers);
print_r($amYearNumbers);
if ($amYearNumbers) {
$amYearNumbersLength = count($amYearNumbers);
$totalSum = 0;
for ($x = 0; $x <= $amYearNumbersLength ; $x++) {
$totalSum = $totalSum + $amYearNumbers[1][$x];
}
}
preg_match_all(“/(\d)\syear/”,$amItemYEAR,$amyernumbers);
打印(单位:欧元);
如果($个){
$amyernumberslength=计数($amyernumbers);
$totalSum=0;
对于($x=0;$x数组([0]=>8年)[1]=>数组([0]=>8))
我知道错误的确切原因,我只想将返回的所有数字相加if($amyernumbers){
if ($amYearNumbers) {
$amYearNumbersLength = count($amYearNumbers);
$totalSum = 0;
for ($x = 0; $x < $amYearNumbersLength ; $x++) {
$totalSum += $amYearNumbers[$x][0];
}
}
$amyernumberslength=计数($amyernumbers);
$totalSum=0;
对于($x=0;$x<$AmyerNumber长度;$x++){
$totalSum+=$amyernumbers[$x][0];
}
}
检查此项
if (count($amYearNumbers)) {
$amYearNumbersLength = count($amYearNumbers[0]);
$totalSum = 0;
for ($x = 0; $x < $amYearNumbersLength ; $x++) {
$totalSum = $totalSum + $amYearNumbers[0][$x];
}
}
if(计数($amyernumbers)){
$amyernumberslength=计数($amyernumbers[0]);
$totalSum=0;
对于($x=0;$x<$AmyerNumber长度;$x++){
$totalSum=$totalSum+$amyernumbers[0][$x];
}
}
循环时计数不一样
count($amYearNumbers); =2??
// then your loop goes in $amyearnumbers[1] which is 1
//So either do:
For ($x = 0; $x <= count($amYearNumbers[1]); $x++) {
Or keep the count above as you do now but do:
$amYearNumbersLength = count($amYearNumbers[1]);
计数($amyernumbers);=2??
//然后循环进入$amyernumbers[1],即1
//因此,你可以:
对于($x=0;$x为什么不在For循环中使用计数?不是说它应该解决问题,而是仍然?对于($x=0;$x)不是所有的数据数组都是数字的,8年
?好的,很酷。我仍然收到一个错误,即注意:未定义的偏移量:第35行的1
echo$amyernumbers[1][0]。“--
”
它是否显示错误?尝试更改($x=0;$x<$amyernumberslength;$x++){
它可以工作!但是为什么它是$totalSum=$totalSum=$amyernumbers[0][$x];
而不是$totalSum=$totalSum+$amyernumbers[1][$x];
因为这里是数组([0]=>8年)[0]=>
index为$amyernumbers[0]的第一个位置是固定的,不是$amyernumbers[1],而是,我不想要那些写着8年的,我只想要数字8,你可以通过或检查