(array)$foo != if (isset($foo) && is_array($foo))
En (array)
cast kann nützlich sein, um Objekte in Arrays oder Skalare in Arrays zu casten, so dass Sie konsistente Schnittstellen zu Variablen erstellen können, die einzelne Werte oder Arrays enthalten können.
(array)$foo == array($foo)
Als definiert im PHP-Handbuch für Array-Typen.
Wenn Sie also immer ein Array verwenden müssen, dann wäre der erste von Ihnen vorgestellte Codeschnipsel die Antwort. Allerdings gelten die Regeln für das Type Casting immer noch, so dass Sie möglicherweise nicht das bekommen, was Sie wollen, also sehen Sie im Handbuch nach. Ansonsten würde die zweite Option den Zugriff auf nicht gesetzte Variablen verhindern, die keine Arrays sind.
Soweit ein Code riechen, würde ich sagen, dass die Überprüfung auf nicht gesetzte Variablen sicherlich vermieden werden kann, jedoch immer zu wissen, dass eine Variable ein Array haben wird, ist mehr als oft nicht, wird schleichen. Ich würde also versuchen, den Code in is_array($foo)
if-then-Anweisungen auf ein Minimum zu beschränken.