Это часто, оказывается, со мной обрабатывает данные, которые могут быть или массивом или пустой переменной и подавать некоторых foreach
с этими данными.
$values = get_values();
foreach ($values as $value){
...
}
При питании foreach с данными, которые не являются массивом, Вы получаете предупреждение:
Предупреждение: Недействительный аргумент предоставляется для foreach () в [...]
Принятие не возможно осуществить рефакторинг get_values()
функционируйте, чтобы всегда возвратить массив (обратная совместимость, не доступный исходный код, безотносительно другой причины), я задаюсь вопросом, который является самым чистым и самым эффективным способом избежать этих предупреждений:
$values
выстраивать$values
выстраиватьforeach
с if
Лично я считаю, что это самый чистый - не уверен, что он самый эффективный, помните!
if (is_array($values) || is_object($values))
{
foreach ($values as $value)
{
...
}
}
Причина моего предпочтения в том, что он не выделяет пустой массив, если вам все равно не с чего начать.
Прежде всего, каждая переменная должна быть инициализирована. Всегда.
Трансляция невозможна.
если get_values (); может возвращать переменную другого типа, это значение, конечно, необходимо проверить.