Hier eine Sammlung gerne gemachter Fehler.
So bequem das type casting auch ist, es kann manchmal auch zu unerwarteten Ergebnissen führen.
Vor allem die automatische Konvertierung zu boolean kann für Überraschungen sorgen.
Es soll per while() über sämtliche Elemente des Array iteriert werden.
<?php
$list = array(2, 3, 4, 5, 0, 9, 8);
while ( $item = array_shift($list)):
var_dump($item);
endwhile;
?>
So funktioniert es dann auch ...
<?php
$list = array(2, 3, 4, 5, 0, 9, 8);
while ( ($item = array_shift($list)) !== NULL):
var_dump($item);
endwhile;
?>
Aber NICHT! wenn auch NULL-Werte im Array vorhanden sind.
<?php
$list = array(2, 3, 4, 5, 0, 9, NULL, 8);
while ( ($item = array_shift($list)) !== NULL):
var_dump($item);
endwhile;
?>
Mit foreach klappt es hier wirklich.
<?php
$list = array(2, 3, 4, 5, 0, 9, NULL, 8);
foreach($list as $item):
var_dump($item);
endforeach;
?>