Arrays

Helper con funciones auxiliares para tratamiento de arreglos.

get_key_by_index()

Devuelve el índice numérico relacionado con el índice asociativo de un arreglo, por ejemplo.

$arreglo = array(
 'hola' => 'mundo',
 'que' => 'haces',
 'como' => 'estás'
);

Cómo hacemos para saber qué número secuencial está asociado al índice 'que'?, vale con solo mirarlo sabemos que es la posición 1, ya que si hacemos $arreglo[1] obtendremos el string 'haces', pero ¿qué pasa si no lo podemos ver? y necesitamos de una función que nos devuelva ese número para poder utilizarlo en algún algoritmo. Pues llamamos al helper arrays y accedemos a esta función que recibe dos parámetros.

El primer parámetro es el nombre del índice a averiguar.

El segundo parámetro es el arreglo.

# Queremos obtener la posición del arreglo asociada al índice asociativo 'como'
$n = Arrays::get_key_by_index('como',$arreglo);
# Entonces
$n === 2

# Probamos con un índice inexistente
$m = Arrays::get_key_by_index('blabla',$arreglo);
# Entonces
$n === -1

Esta función devolverá un número, que será la posición del arreglo asociada a ése indice asociativo, y devolverá -1 si no consigue el indice dentro del arreglo.

unique_array()

Elimina todos los elementos repetidos existentes en un arreglo. Recibe un solo parámetro, el arreglo a modificar.

# Original
$arreglo = array(
 '1',
  1,
 '5',
  6
);
# Modificamos
$arreglo_nuevo = Arrays::unique_array($arreglo);
# Resultado
$arreglo_nuevo = array(
  1,
 '5',
  6
);

StackOverflow

is_assoc()

Devuelve true si un arreglo es enteramente asociativo y false si no lo es, solo recibe un parámetro y es el arreglo a evaluar.

$arreglo = array(
 'hola' => 'mundo',
 'que' => 'haces',
 'como' => 'estás'
);
$resultado = Arrays::is_assoc($arreglo);
# Entonces
$resultado === true

$arreglo = array(
 'hola' => 'mundo',
 'que' => 'haces',
 'estás'
);
$resultado = Arrays::is_assoc($arreglo);
# Entonces
$resultado === false

is_numeric_array()

Devuelve true si un arreglo es secuencial, y false si no lo es, sólo recibe un parámetro y es el arreglo a evaluar.

$arreglo = array(
 'hola' => 'mundo',
 'que' => 'haces',
 'estás'
);
$resultado = Arrays::is_numeric_array($arreglo);
# Entonces
$resultado === false

$arreglo = array(
 'mundo',
 'haces',
 'estás'
);
$resultado = Arrays::is_numeric_array($arreglo);
# Entonces
$resultado === true

array_random_element()

Obtiene de forma aleatoria un elemento dentro de un arreglo, si tenemos:

$arreglo = array('uno','dos','tres','cuatro','cinco', 'seis' => 6, 7, 'blabla');
# Sacamos un elemento random
$e = Arrays::array_random_element($arreglo);
# Entonces
$e === ('uno' xor 'dos' xor 'tres' xor 'cuatro' xor 'cinco' xor 6 xor 7 xor 'blabla')
# Es decir, un elemento aleatorio de entre todos los posibles, puede que sea distinto en cada ejecución, es random