私はこれがforeach
です。これは郵便番号$searchvalue
と地区の配列を照合します。 if
ステートメントは、そのジョブを実行し、else
がない場合、正常に実行されます。もしIFが成功したとしても、PHP if/elseはいつも成功します。
ただし、else
のコメントを外すと、else
が常に実行されます。
なぜこのような場合は?あなたのforeach
foreach ($districts['district'] as $district) {
if (in_array($searchvalue, $district['postalcodes'])) { //Search for known Postal Code
$emails[] = $district['email'];
//Assign new mail address
$notification['to'] = implode("",$emails);
//Continue sending email
return $notification; //this succeeds without the else below. When the Else is uncommented, this is not executed.
}
else {
//No known postal code found, fallback
echo "no valid postal code found, fallback";
$notification['to'] = $defaultaddress;
return $notification;
}
}
データセットを表示すると、if文が真であるかどうかはわかりません。 – GrumpyCrouton
あなたのforループは何度も何度も繰り返されていますそれ以外の理由はあります – Bhargav
'$ searchvalue、$ district ['postalcodes']'の値は何ですか? ifの前にダンプをすることはできますか? – teeyo