для пользовательской функции.
пользования PHP 7.2count()
на скалярное значение или неисчисляемый объект вернет1
или же0
.
Например:https://3v4l.org/tGRDE
var_dump(count(123)); //int(1)
var_dump(count(new stdclass)); //int(1)
var_dump(count('hello world')); //int(1)
var_dump(count(null)); //int(0)
вобновления до PHP 7.2+, с помощьюcount()
как показано выше, будет выдано предупреждение.
E_WARNING теперь будет выдаваться при попытке считать () неисчислимые типы (включая функцию псевдонима sizeof ()).
Предупреждение: count (): Параметр должен быть массивом или объектом, который реализует Счетное[Так в оригинале]
В результате многие популярные рамки подниметE_WARNING
и бросить исключение вместо этого.
[ErrorException] count (): параметр должен быть массивом или объектом, который реализует счетное
Поведение повышения ошибки также прокомментировали разработчики PHP.
Среды, которые отображают предупреждения или преобразуют их в более серьезные ошибки / исключения, будут затронуты, но это должно просто привлечь внимание к ошибке в коде.
Как можно предыдущее поведениеcount()
быть достигнуто в PHP 7.2+, который не испускаетE_WARNING
без изменения настроек сообщения об ошибках и без использования@count()
?