En otros lenguajes como Javascript o Java, para obtener la longitud de un arreglo leemos la propiedad length.
En Go y Python, llamamos al método len.
¿Pero cómo se hace en PHP?
Es muy simple, lo único que tenemos que hacer es llamar al método count y pasarle como argumento nuestro arreglo.
count devolverá un número, que será la longitud de nuestro arreglo o lista. Aquí un ejemplo:
<?php $lenguajes = ["go", "javascript", "php", "c#"]; $longitud = count($lenguajes); echo $longitud; // Imprime 4
Con eso podemos obtener la longitud de un arreglo. Pero count también puede contar elementos de un arreglo multidimensional.
Hay ocasiones en las que nuestro arreglo es multidimensional. Algo así:
<?php $animales = [ "mamíferos" => ["delfín", "perro"], "anfibios" => ["rana", "tortuga"], ]; ?>
Para contar recursivamente llamamos a count con el segundo argumento establecido en COUNT_RECURSIVE, como se ve en este ejemplo:
<?php $animales = [ "mamíferos" => ["delfín", "perro"], "anfibios" => ["rana", "tortuga"], ]; $longitud = count($animales); // Devuelve 2, pero nosotros queremos 6 $longitudRecursiva = count($animales, COUNT_RECURSIVE); // Devuelve 6 echo $longitud; echo "<br>"; echo $longitudRecursiva; ?>
Si llamamos a count sin que el segundo argumento sea COUNT_RECURSIVE, devolverá 2, pues sólo cuenta los valores sin ir más profundo.
En cambio, con COUNT_RECURSIVE cuenta profundamente.
Aquí podemos aplicar un truco, y es que si queremos sólo los nombres de los animales podemos hacer una resta de la longitud recursiva menos la longitud normal.
Es decir, 6 – 2 = 4. Y 4 son los verdaderos animales, las demás son categorías.
Hoy te voy a presentar un creador de credenciales que acabo de programar y que…
Ya te enseñé cómo convertir una aplicación web de Vue 3 en una PWA. Al…
En este artículo voy a documentar la arquitectura que yo utilizo al trabajar con WebAssembly…
En un artículo anterior te enseñé a crear un PWA. Al final, cualquier aplicación que…
Al usar Comlink para trabajar con los workers usando JavaScript me han aparecido algunos errores…
En este artículo te voy a enseñar cómo usar un "top level await" esperando a…
Esta web usa cookies.
Ver comentarios