Często zdarza mi się obsługiwać dane, które mogą być tablicą lub zmienną zerową, i karmić niektóre foreachz tych danych.
$values = get_values();
foreach ($values as $value){
...
}
Gdy karmisz foreach danymi, które nie są tablicą, pojawia się ostrzeżenie:
Ostrzeżenie: podano nieprawidłowy argument dla foreach () w [...]
Zakładając, że nie można refaktoryzować get_values()funkcji, aby zawsze zwracała tablicę (kompatybilność wsteczna, niedostępny kod źródłowy, bez względu na inny powód), zastanawiam się, który jest najczystszym i najbardziej wydajnym sposobem uniknięcia tych ostrzeżeń:
- Przesyłanie
$valuesdo tablicy - Inicjowanie
$valuesdo tablicy - Zawijanie
foreachza pomocąif - Inne (proszę zasugerować)
$valuesto nie jest tablica.