Приведем несколько примеров:
array("Paul", "", "Daniel") // false array("Paul", "Daniel") // true array("","") // false
Каков аккуратный способ обойти эту функцию?
Попробуйте использовать in_array
:
return !in_array("", array("Paul", "", "Daniel")); //returns false
Ответ зависит от того, как вы определяете «пустой»,
$contains_empty = count($array) != count(array_filter($array));
это проверяет наличие пустых элементов в логическом смысле . Проверить наличие пустых строк или эквивалентов
$contains_empty = count($array) != count(array_filter($array, "strlen"));
Проверить только пустые строки (обратите внимание на третий параметр):
$contains_empty = in_array("", $array, true);
function has_empty(array $array) { return count($array) != count(array_diff($array, array('', null, array()))); }
$array = array("Paul", "", "Daniel") if( $array != array_filter( $array ) ) return FALSE;
function testEmpty($array) { foreach ($array as $element) { if (empty($element)) //edited from: if ($element === "") return false; } return true; }
Пожалуйста, ознакомьтесь с комментариями ниже для получения дополнительной информации.