我正在從事一個涉及從圖像中提取紅色,綠色和藍色值並查找紅色值,綠色值和藍色值的最大值。 當我上傳一個不包含紅色值的圖片時,我得到了這個錯誤信息:Undefined offset。如果圖像不包含綠色或藍色值,則會出現相同的消息。 我用空()來檢查數組是否爲空,但它沒有幫助。當至少其中一個值不具有值時,使用php查找圖像中紅色,綠色和藍色陣列的最大值
我的代碼:
for($j1=0;$j1<=$red_count;$j1++){
if (empty($reds)){
$reds[$j1]=0;
}
if ($reds[$j1]>=$red_max){
$red_max = $reds[$j1];
}
}
for($j2=0;$j2<=$blue_count;$j2++){
if (empty($blues)){
$blues[$j2]=0;
}
if ($blues[$j2]>=$blue_max){
$blue_max = $blues[$j2];
}
}
for($j3=0;$j3<=$green_count;$j3++){
if (empty($greens)){
$greens[$j3]=0;
}
if ($greens[$j3]>=$green_max){
$green_max = $greens[$j3];
}
}
未定義的偏移量不是指向空值,而是指向未設置的一個(鍵)。嘗試'isset()' –
或者jsut檢查$ reds> 0是否對綠色和藍色完全相同 – Dave
$ reds = array_fill(0,256,0); $ blues = array_fill(0,256,0); $ greens = array_fill(0,256,0); – user3108024