Warning: Invalid argument supplied for foreach()

Invalid argument foreach hiba: használj is_array() vagy null coalescinget az iterálás előtt.

Invalid argument foreach

Hibaüzenet

Warning: Invalid argument supplied for foreach()

Hibás kód

<?php
$items = null;
foreach ($items as $item) { echo $item; }
?>

Javított kód

<?php
$items = null;
foreach ($items ?? [] as $item) { echo $item; }
?>

Magyarázat

Invalid argument supplied for foreach() warning akkor jelentkezik, amikor nem iterálható változót (NULL vagy nem tömb) adsz a foreach-nek. A PHP ilyenkor warningot dob. A megoldás, hogy az is_array($items) ellenőrzés, vagy a null coalescing operátor ($items ?? []) használata biztosítja, hogy mindig tömböt kapjon a ciklus, így elkerülöd a warningot.

További információ: PHP foreach