簡體   English   中英

for循環中未定義的偏移量錯誤

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM