Fatal error: Uncaught TypeError: count(): Argument #1 ($var) must be of type Countable|array, null given in…

Con el paso de version de PHP a la 8.0 y superiores me estoy encontrando algunos errores recurrentes en plugins o themes que en su día se hicieron a medida o no han tenido actualizaciones recientes por parte de sus desarrolladores.


por

Con el paso de version de PHP a la 8.0 y superiores me estoy encontrando algunos errores recurrentes en plugins o themes que en su día se hicieron a medida o no han tenido actualizaciones recientes por parte de sus desarrolladores.

Uno de esos errores es referente a la función count(), que lanza el error «Fatal error: Uncaught TypeError: count(): Argument #1 ($var) must be of type Countable|array, null given in…»

Una solución que me ha servido a mi en las ocasiones que me he encontrado este error es añadir el condicional is_countable(), por ejemplo, si en el código tenemos:

if(count($variable) > 0)  { .... }

Simplemente tenemos que asegurarnos en el condicional que la variable se puede contar:

if(is_countable($variable) && count($variable) > 0)  { .... }

Con esto evitaremos el error y podremos seguir utilizando ese código.