[英]Undefined offset error in for loop
這段代碼可以幫助我找到某些總和的最小值,因此我將一個函數設置為以下函數:
function GetMin($s)
{
for($j=1;$j<=count($s)-1;$j++)
{
$min=$s[1];
if($s[$j] < $s[$j+1] && $s[$j] < $min)
{
$min=$s[$j];
}
else {continue;}
}
echo $min;
}
$enc=".129.25.24.154.546.214.142.254.256";
$ar=explode(".",$enc);
for($i=0;$i<count($ar)-1;$i+=3)
{
$s[$i+1]=$ar[$i+1]+$ar[$i+2]+$ar[$i+3];
echo $s[$i+1]."<br>";
}
GetMin($s)
該代碼應以這種方式工作:
計算數組的每3個項的總和,並將其存儲在另一個名為“ s”的數組的項中,代碼運行良好,直到我嘗試找到最小值,它打印出最小值,但出現以下錯誤:
注意:第9行的C:\\ Program Files(x86)\\ Apache Software Foundation \\ Apache2.2 \\ htdocs \\ decrypt.php中未定義的偏移量:2注意:C:\\ Program Files(x86)\\ Apache軟件中的未定義偏移量:2第9行上的Foundation \\ Apache2.2 \\ htdocs \\ decrypt.php注意:第9 178行上的C:\\ Program Files(x86)\\ Apache Software Foundation \\ Apache2.2 \\ htdocs \\ decrypt.php中未定義的偏移量:3
看起來您正在嘗試獲取值數組中的最低值,因此我更改了GetMin()
函數,使其與在調用GetMin()
之前創建的非連續索引數組一起使用。 這應該為您工作:
<?php
function GetMin($s){
$min = NULL;
foreach($s as $v){
if(is_null($min)){
$min = $v;
} elseif($v < $min){
$min = $v;
}
}
return $min;
}
$enc = ".129.25.24.154.546.214.142.254.256";
$ar = explode(".",$enc);
$ar_count = count($ar);
for($i=0;$i<$ar_count-1;$i+=3)
{
$s[$i+1]=$ar[$i+1]+$ar[$i+2]+$ar[$i+3];
echo $s[$i+1]."<br>";
}
echo GetMin($s);
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.