EXTRAER Y ORDENAR

Juan José Taboada León

Implantación de aplicaciones WEB

IES San Sebastián Huelva 1

Información sobre variables
Función
sizeof(variable) count(variable) isset(variable) is_array(variable)

Valor devuelto
devuelve el número de elementos de un array Igual que sizeof() comprueba si una variable está definida o no lo está. UNO si array NUL en el caso contrario.

is_long(variable) ó is_int(variable) ó is_integer(variable) is_float(variable) ó is_double(variable) is_string(variable)

devuelven UNO en el caso de que la variable sea de tipo entero y NUL en el caso contrario.

devuelven UNO en el caso de que la variable sea de tipo coma flotante y NUL en el caso contrario. Devuelve UNO en el caso de que la variable sea tipo string y NUL en caso contrario.

unset(variable)
Juan José Taboada León 2011/2012

Destruye la variable indicada
Implantación de Aplicaciones WEB. ORDENAR IES San Sebastián Huelva

Obtener código fuente de una página php
 show_source('pag');

Permite ver el código fuente de una página php

Juan José Taboada León 2011/2012

Implantación de Aplicaciones WEB. ORDENAR

IES San Sebastián Huelva

Recuentos en arrays
Función $n=array_count_values(ar) Recuento de los valores contenidos en una matriz

clav=array_keys(arr) clav=array_keys(arr, valor)
valores=array_values(arr)

Búsqueda de elementos en un array

Ejercicios. Realiza extraer1 a 2

Juan José Taboada León 2011/2012

Implantación de Aplicaciones WEB. ORDENAR

IES San Sebastián Huelva

$n=array_count_values(ar)
Devuelve Indice Contenido

un array ($n)

valores distintos de ar

resultado de contar el número de veces que se repite cada uno de los valores

<?php $a=array(1,2,3,1,1,2,3,3,4,4,4,0,1); echo "<h3>Cuenta valores del array()</h3>"; $contador=array_count_values($a); foreach($contador as $valor=>$veces){ echo "El valor ",$valor," se repite ", $veces," en la matriz a<br>"; } echo $contador[0],"<br>"; echo $contador[1],"<br>"; echo $contador[2],"<br>"; echo $contador[3],"<br>"; echo $contador[4],"<br>“;
Juan José Taboada León 2011/2012

Cuenta valores del array() El valor 1 se repite 4 en la matriz a El valor 2 se repite 2 en la matriz a El valor 3 se repite 3 en la matriz a El valor 4 se repite 3 en la matriz a El valor 0 se repite 1 en la matriz a 1 4 2 3 3
IES San Sebastián Huelva

Implantación de Aplicaciones WEB. ORDENAR

$clav=array_keys(arr)
Devuelve un array escalar ($clav) Indice numérico Contenido índices del array inicial (arr).
<?php $a=array(1,2,3,1,1,2,3,3,4,4,4,); Devuelve las claves de un array echo "$lt;h3>Devuelve las claves de un El valor 0 es una de las claves array$lt;/h3>"; El valor 1 es una de las claves $claves=array_keys($a); El valor 2 es una de las claves foreach($claves as $v){ El valor 3 es una de las claves echo "El valor ",$v," es una de las claves$lt;br>"; El valor 4 es una de las claves El valor 5 es una de las claves }
El valor 6 es una de las claves El valor 7 es una de las claves El valor 8 es una de las claves El valor 9 es una de las claves El valor 10 es una de las claves

Juan José Taboada León 2011/2012

Implantación de Aplicaciones WEB. ORDENAR

IES San Sebastián Huelva

clav=array_keys(arr, valor)
Devuelve Array escalar ($clav) Indice numérico Contenido Los índices de los elementos del array inicial cuyo valor coincide con el indicado mediante el parámetro valor.

<?php $a=array(1,2,3,1,1,2,3,3,4,4,4,0,1); $claves1=array_keys($a,1); foreach($claves1 as $v){ echo "El valor ",$v," es una de las claves de elementos de la matriz cuyo valor es <b>1</b><br>"; } El valor 0 es una de las claves de elementos de la matriz cuyo valor es 1 El valor 3 es una de las claves de elementos de la matriz cuyo valor es 1 El valor 4 es una de las claves de elementos de la matriz cuyo valor es 1 El valor 12 es una de las claves de elementos de la matriz cuyo valor es 1
Juan José Taboada León 2011/2012

Implantación de Aplicaciones WEB. ORDENAR

IES San Sebastián Huelva

$valores=array_values(arr)
Devuelve Indice Contenido

Array escalar ($valores)

numérico

recoge en una nueva matriz (valores) todos los valores contenidos en otro array

<?php Devuelve los valores de un array $c=array( rojo Este es un de los valores de de la matriz c "a"=>"rojo", verde Este es un de los valores de de la matriz c "b" =>"verde", rojo Este es un de los valores de de la matriz c "c" =>"rojo", rojo Este es un de los valores de de la matriz c "d" =>"rojo", verde Este es un de los valores de de la matriz c "e" =>"verde", Rojo Este es un de los valores de de la matriz c "f" =>"Rojo", Verde Este es un de los valores de de la matriz c "g" =>"Verde"); echo "<h3>Devuelve los valores de un array</h3>"; $valores=array_values($c); foreach($valores as $v){ echo $v," Este es un de los valores de de la matriz c<br>"; }
Juan José Taboada León 2011/2012 Implantación de Aplicaciones WEB. ORDENAR IES San Sebastián Huelva

Búsqueda y recorrido en arrays
[ más información en http://www.php.net/manual/es/ref.array.php ]

Busqueda  in_array(valor,array) : Si encuentra valor devuelve 1 si no NULL Recorrido  key(array) : Devuelve el índice del elemento de la matriz al que apunta en ese momento el puntero interno de la matriz  reset( array ) : Se posiciona en el primer elemento  end( array ) : Se posiciona en el último elemento  next( array ) : Se posiciona en el siguiente elemento  prev( array ) : Se posiciona en el elemento anterior  current( array ) : Devuelve el contenido de la posición actual o false
Juan José Taboada León 2011/2012 Implantación de Aplicaciones WEB. ORDENAR IES San Sebastián Huelva

Ordenación
Ordenación por valores sin mantener índices  sort(matriz) : Ordenación ascendente (matriz indexada)  rsort(matriz) : Ordenación descendente (matriz indexada) Ordenación por valores manteniendo índices  asort(matriz) : Ordenación ascendente por valor (matriz asociativa)  arsort(matriz): Ordenación descendente por valor (matriz asociativa) Ordenación por índices  ksort(matriz) : Ordenación ascendente por clave (matriz asociativa)  krsort(matriz) : Ordenación descendente por clave (matriz asociativa)
Ejercicios. Realiza ordenar1
Juan José Taboada León 2011/2012 Implantación de Aplicaciones WEB. ORDENAR IES San Sebastián Huelva

Ordenación mediante función definida por usuario

Juan José Taboada León 2011/2012

Implantación de Aplicaciones WEB. ORDENAR

IES San Sebastián Huelva

Modificación de arrays
 var= range(inf,sup) : Nueva matriz escalar ordenada con valores del rango
 shuffle(array): Intercambia de modo aleatorio los valores de un array y los reindexa

(srand(time())).
 var= array_flip(array) : Devuelve un array que contiene como valores los índices de

la matriz array y como índices los valores de aquella.

Juan José Taboada León 2011/2012

Implantación de Aplicaciones WEB. ORDENAR

IES San Sebastián Huelva

Insertando elementos en un arrays
 array_unshift(matriz,variable1,variableN): Añade elementos al principio del

array
 array_push(matriz,variable1,variableN): Añade elementos al final del array  array_pad(array, n, var) : inserta los valores de var para que el array

tenga n elementos (n positivo inserta al final- n negativo insert al principio)
 array_merge($a, $b) : nuevo array mezcla de $a y $b

Juan José Taboada León 2011/2012

Implantación de Aplicaciones WEB. ORDENAR

IES San Sebastián Huelva

Quitar elementos de un array
 array_shift(matriz) : Elimina el primer elemento de la matriz  array_pop(matriz) : Elimina el último elemento de la matriz  array_slice($a,n) : extrae n elementos del array $a  n (+) extrae desde el principo, n(-) extrae desde el enésimo
comenzando por el final

 array_slice($a,n, m) :

Juan José Taboada León 2011/2012

Implantación de Aplicaciones WEB. ORDENAR

IES San Sebastián Huelva

Invertir el orden de un array
 array_reverse(array)
¡Advertencia! Recuerda que: • las posiciones iniciales de los elementos de un array no tienen relación con sus índices sino con la secuencia en la que fueron creados.
Cuidado con la aplicación de todas estas funciones y con los índices de los arrays resultantes. (algunas de estas funciones reindexan los resultados y los convierten en escalares aún en el caso de que originalmente fueran asociativos)

Ejercicios. Realiza modifica1
Juan José Taboada León 2011/2012 Implantación de Aplicaciones WEB. ORDENAR IES San Sebastián Huelva