El manejo de tablas en PHP puede ser un labor pesada si no fuera por la existencia de funciones que precisamente facilitan el trabajo a la hora de desarrollar. Algunas de las funciones importantes se listan a continuación.
- Longitud de una tabla: count ( ) y sizeof ( )
- Existencia de un valor en una tabla: in_array( )
- Existencia de un índice o clave en una tabla: array_key_exists ( )
- Ordenar una tabla de menor a mayor: sort ( )
- Ordenar una tabla de mayor a menor: asort ( )
- Ordenar las claves de la tabla de menor a mayor: Ksort ( )
- Ordenar las claves de la tabla de mayor a menor: Krsort ( )
- Recorrer una cadena de caracteres en una tabla: explode ( )
- Reagrupar los valores de una tabla en una cadena: implode ( )
- Trocear una cadena con una longitud fija: str_split ( )
- Añadir elementos al final de la tabla: array_push
- Eliminar un elemento al final de la tabla: array_pop ( )
- Selección aleatoria de un elemento de una tabla: array_rand ( )
count ( ) y sizeof ( )
Con estas funciones podemos conocer la longitud del array, es decir, el número de elementos que contiene.
<?php $array1= ['Roberto', 'Pablo', 'Pepe', 'Pedro', 'Alonso']; $array2= Array ('A1'=>'Roberto', 'B4'=>'Pablo', 3=>'Pablo', 'C1'=>'Pepe', 'H'=>'Pedro', 'D2'=>'Alonso'); echo "La longitud del Array 1 es : ". count ($array1). "<br>y<br>" La longitud el Array 2 es : " . sizeof ($array2); ?>
Ambas funciones dan el número de elementos del array, 5 el primero y 6 el segundo. Con el uso de la función print_r ( ) se obtiene el contenido de ambas tablas.
in_array ()
Con esta función de PHP verificamos si existe un valor en una tabla o array. Esta función precisa de dos argumentos: El valor que se pretende buscar y la tabla donde se quiere buscar.
Sintaxis: $existe = $in_array ($valor_busqueda, $tabla)
Esta función devuelve un valor booleano (true o false);
<?php $array1= ['Roberto', 'Pablo', 'Pepe', 'Pedro', 'Alonso']; $array2= Array ('A1'=>'Roberto', 'B4'=>'Pablo', 3=>'Pablo', 'C1'=>'Pepe', 'H'=>'Pedro', 'D2'=>'Alonso'); $valor_busqueda = 'Pablo'; $tabla = $array1; $existe = in_array ($valor_busqueda, $tabla); if ($existe){ echo "El valor ".$valor_busqueda." existe en \$array1"; }else{ echo "El valor ".$valor_busqueda. " no existe en \$array1"; } //nueva comprobación $valor_busqueda = 4; $tabla = $array2; $existe = in_array ($valor_busqueda, $tabla); if ($existe){ echo "El valor ".$valor_busqueda." existe en \$array2"; }else{ echo "El valor ".$valor_busqueda. " no existe en \$array2"; } ?>
Este código realiza dos búsquedas, una para cada array. Puede comprobarse que en la primera da verdadero, frente a la segunda que es false.
(Los caracteres especiales como el símbolo $ deben escaparse con la barra ivertida (\) para que sea interpretado como texto)