32
1 Desarrollo Web en Entorno Servidor Arrays escalares y asociativos (Unidimensionales) Arrays y funciones . Arrays bidimensionales . Arrays multidimensionales. La función array (). Recorrido de un array. Uso de foreach. Obtener información sobre variables y arrays . Ordenación de Arrays Modificación de Arrays Tema 5: Arrays.

1 Desarrollo Web en Entorno Servidor Arrays escalares y asociativos (Unidimensionales) Arrays y funciones. Arrays y funciones Arrays bidimensionales. Arrays

Embed Size (px)

Citation preview

Page 1: 1 Desarrollo Web en Entorno Servidor Arrays escalares y asociativos (Unidimensionales) Arrays y funciones. Arrays y funciones Arrays bidimensionales. Arrays

1

Desarrollo Web en Entorno Servidor

Arrays escalares y asociativos (Unidimensionales)

Arrays y funciones.

Arrays bidimensionales.

Arrays multidimensionales.

La función array().

Recorrido de un array. Uso de foreach.

Obtener información sobre variables y arrays.

Ordenación de Arrays

Modificación de Arrays

Arrays escalares y asociativos (Unidimensionales)

Arrays y funciones.

Arrays bidimensionales.

Arrays multidimensionales.

La función array().

Recorrido de un array. Uso de foreach.

Obtener información sobre variables y arrays.

Ordenación de Arrays

Modificación de Arrays

Tema 5: Arrays.

Page 2: 1 Desarrollo Web en Entorno Servidor Arrays escalares y asociativos (Unidimensionales) Arrays y funciones. Arrays y funciones Arrays bidimensionales. Arrays

2

Arrays Unidimensionales.

¿Qué es un array?

Un array es sencillamente una tabla de valores.

Cada uno de los elementos de esa tabla se identifica por medio de un nombre (común para todos) y un índice (que diferenciaría a cada uno de ellos).

La sintaxis que permite definir elementos en un array es esta:

$nombre[indice]

¿Qué es un array?

Un array es sencillamente una tabla de valores.

Cada uno de los elementos de esa tabla se identifica por medio de un nombre (común para todos) y un índice (que diferenciaría a cada uno de ellos).

La sintaxis que permite definir elementos en un array es esta:

$nombre[indice]

Page 3: 1 Desarrollo Web en Entorno Servidor Arrays escalares y asociativos (Unidimensionales) Arrays y funciones. Arrays y funciones Arrays bidimensionales. Arrays

3

Arrays Unidimensionales.

Arrays escalares.Los índices de un array son números.

$a[]=valor

$a[xx]=valor

Arrays Asociativos.Los indices de un array son cadenas.

$a['indice']=valor

Arrays escalares.Los índices de un array son números.

$a[]=valor

$a[xx]=valor

Arrays Asociativos.Los indices de un array son cadenas.

$a['indice']=valor

Page 4: 1 Desarrollo Web en Entorno Servidor Arrays escalares y asociativos (Unidimensionales) Arrays y funciones. Arrays y funciones Arrays bidimensionales. Arrays

4

Arrays Unidimensionales.

Tanto en este supuesto como en el anterior, es posible –y bastante frecuente– utilizar como índice el contenido de una variable. El modo de hacerlo sería:

$a[$ind]=valor

En este caso, sea cual fuere el valor de la variable $ind, el nombre de la variable nunca se pone entre comillas.

Tanto en este supuesto como en el anterior, es posible –y bastante frecuente– utilizar como índice el contenido de una variable. El modo de hacerlo sería:

$a[$ind]=valor

En este caso, sea cual fuere el valor de la variable $ind, el nombre de la variable nunca se pone entre comillas.

Page 5: 1 Desarrollo Web en Entorno Servidor Arrays escalares y asociativos (Unidimensionales) Arrays y funciones. Arrays y funciones Arrays bidimensionales. Arrays

5

Arrays Unidimensionales.

Ejemplo.Ejemplo.

Page 6: 1 Desarrollo Web en Entorno Servidor Arrays escalares y asociativos (Unidimensionales) Arrays y funciones. Arrays y funciones Arrays bidimensionales. Arrays

6

Arrays Unidimensionales.

Ejemplo.<?php$a[2]=200;$a[]=300;echo "El elemento ".$a[3]." tiene indice 3 (siguiente a 2) <br>";$a[32]=3200;$a[]= 3300;print "Vemos que contiene el elemento de indice 33 ...".$a[33]."<br>";print ("Aqui--> ". $a[21]. "<--- si es que hay algo<br>");$b[]="Estoy empezando con el array b y mi indice será cero";$b[]="El siguiente elemento está en la posición 1";for($f=0;$f<count($b);$f++) { echo $b[$f]; echo "<br>"; } $c["objeto"]="coche";$c["color"]="rojo";$c["tamaño"]="ideal";$c["marca"]= "Ferrari";$c["precio"]="prohibitivo para un humilde docente";$salida="<H2> El ". $c["objeto"] ." ".$c["marca"]." ".$c["color"]; $salida .=" tiene el tamaño ideal ".$c["tamaño"];$salida .=" y su precio es ".$c["precio"];$salida .="</H2>";print $salida;$c[]="¿creará un array escalar nuevo y le pondrá indice cero?";echo $c[0];?>

Ejemplo.<?php$a[2]=200;$a[]=300;echo "El elemento ".$a[3]." tiene indice 3 (siguiente a 2) <br>";$a[32]=3200;$a[]= 3300;print "Vemos que contiene el elemento de indice 33 ...".$a[33]."<br>";print ("Aqui--> ". $a[21]. "<--- si es que hay algo<br>");$b[]="Estoy empezando con el array b y mi indice será cero";$b[]="El siguiente elemento está en la posición 1";for($f=0;$f<count($b);$f++) { echo $b[$f]; echo "<br>"; } $c["objeto"]="coche";$c["color"]="rojo";$c["tamaño"]="ideal";$c["marca"]= "Ferrari";$c["precio"]="prohibitivo para un humilde docente";$salida="<H2> El ". $c["objeto"] ." ".$c["marca"]." ".$c["color"]; $salida .=" tiene el tamaño ideal ".$c["tamaño"];$salida .=" y su precio es ".$c["precio"];$salida .="</H2>";print $salida;$c[]="¿creará un array escalar nuevo y le pondrá indice cero?";echo $c[0];?>

Page 7: 1 Desarrollo Web en Entorno Servidor Arrays escalares y asociativos (Unidimensionales) Arrays y funciones. Arrays y funciones Arrays bidimensionales. Arrays

7

Arrays y Funciones.

Es posible que la función genere un array y que este sea devuelto a una variable que se convertiría a ese tipo de forma automática.

Otra opción de recoger los valores devueltos por return es invocar la función mediante una llamada del tipo:

list(v1, v2,..)=llamada

Las variables v1, v2, etc. recogerán los valores de los elementos del array devuelto por la función.

Es posible que la función genere un array y que este sea devuelto a una variable que se convertiría a ese tipo de forma automática.

Otra opción de recoger los valores devueltos por return es invocar la función mediante una llamada del tipo:

list(v1, v2,..)=llamada

Las variables v1, v2, etc. recogerán los valores de los elementos del array devuelto por la función.

Page 8: 1 Desarrollo Web en Entorno Servidor Arrays escalares y asociativos (Unidimensionales) Arrays y funciones. Arrays y funciones Arrays bidimensionales. Arrays

8

Ejemplos<?php$a=3; $b=5;echo "El valor de a elevado a b es: ",a1($a,$b),"<br>";$p=a2($a,$b);For ($i=0;$i<=$b;$i++){echo "El valor de a elevado a: ",$i," es: ",$p[$i],"<br>";}echo "<br>";list($r,$s,$t)=a2($a,$b);echo "Este es el valor recogido en la variable r :",$r,"<br>";echo "Este es el valor recogido en la variable s :",$s,"<br>";echo "Este es el valor recogido en la variable t :",$t,"<br>";

#funcionesfunction a1($a,$b){ return pow($a,$b);}

function a2($a,$b){ for ($i=0;$i<=$b;$i++){ $z[]=pow($a,$i); } return $z;}?>

<?php$a=3; $b=5;echo "El valor de a elevado a b es: ",a1($a,$b),"<br>";$p=a2($a,$b);For ($i=0;$i<=$b;$i++){echo "El valor de a elevado a: ",$i," es: ",$p[$i],"<br>";}echo "<br>";list($r,$s,$t)=a2($a,$b);echo "Este es el valor recogido en la variable r :",$r,"<br>";echo "Este es el valor recogido en la variable s :",$s,"<br>";echo "Este es el valor recogido en la variable t :",$t,"<br>";

#funcionesfunction a1($a,$b){ return pow($a,$b);}

function a2($a,$b){ for ($i=0;$i<=$b;$i++){ $z[]=pow($a,$i); } return $z;}?>

Page 9: 1 Desarrollo Web en Entorno Servidor Arrays escalares y asociativos (Unidimensionales) Arrays y funciones. Arrays y funciones Arrays bidimensionales. Arrays

9

Arrays Bidimensionales.

Los arrays bidimensionales pueden entenderse como algo muy similar a una tabla de doble entrada.

Cada uno de los elementos se identifica –sigue siendo válido el nombre único que se usaba en los unidimensionales – por un nombre ($nombre) seguido de dos ([]) que contienen los índices (en este caso son dos índices) del array.

Los índices pueden ser de tipo escalar -equivalen al número de fila y columna que la celda ocupa en la tabla– o puede ser asociativos lo que equivaldría en alguna medida a usar como índices los nombres de la fila y de la columna.

Los arrays bidimensionales pueden entenderse como algo muy similar a una tabla de doble entrada.

Cada uno de los elementos se identifica –sigue siendo válido el nombre único que se usaba en los unidimensionales – por un nombre ($nombre) seguido de dos ([]) que contienen los índices (en este caso son dos índices) del array.

Los índices pueden ser de tipo escalar -equivalen al número de fila y columna que la celda ocupa en la tabla– o puede ser asociativos lo que equivaldría en alguna medida a usar como índices los nombres de la fila y de la columna.

Page 10: 1 Desarrollo Web en Entorno Servidor Arrays escalares y asociativos (Unidimensionales) Arrays y funciones. Arrays y funciones Arrays bidimensionales. Arrays

10

Arrays Bidimensionales.

Arrays bidimensionales escalares. Los elementos de un array bidimensional escalar pueden

escribirse usando una de estas sintaxis:

$a[][]=valor

$a[xx][]=valor

$a[][xx]=valor

$a[xx][yy]=valor

Arrays bidimensionales escalares. Los elementos de un array bidimensional escalar pueden

escribirse usando una de estas sintaxis:

$a[][]=valor

$a[xx][]=valor

$a[][xx]=valor

$a[xx][yy]=valor

Page 11: 1 Desarrollo Web en Entorno Servidor Arrays escalares y asociativos (Unidimensionales) Arrays y funciones. Arrays y funciones Arrays bidimensionales. Arrays

11

Arrays Bidimensionales.

Arrays bidimensionales asociativos.

Los elementos de un array bidimensional asociativo se pueden escribir usando la siguiente sintaxis:

$a["indice1"]["indice2"]=valor

Arrays bidimensionales asociativos.

Los elementos de un array bidimensional asociativo se pueden escribir usando la siguiente sintaxis:

$a["indice1"]["indice2"]=valor

Page 12: 1 Desarrollo Web en Entorno Servidor Arrays escalares y asociativos (Unidimensionales) Arrays y funciones. Arrays y funciones Arrays bidimensionales. Arrays

12

Arrays bidimensionales.

Ejemplo.Ejemplo.

Ejercicio. Intenta modificar el script y trata de reproducir estas tablas

Page 13: 1 Desarrollo Web en Entorno Servidor Arrays escalares y asociativos (Unidimensionales) Arrays y funciones. Arrays y funciones Arrays bidimensionales. Arrays

13

Arrays Multidimensionales.

PHP permite el uso de arrays con dimensión superior a dos. Para modificar la dimensión del array basta con ir añadiendo nuevos índices.

$a[x][y][z]=valor;

Pueden tener cualquier tipo de índices: escalares, asociativos.

PHP permite el uso de arrays con dimensión superior a dos. Para modificar la dimensión del array basta con ir añadiendo nuevos índices.

$a[x][y][z]=valor;

Pueden tener cualquier tipo de índices: escalares, asociativos.

Page 14: 1 Desarrollo Web en Entorno Servidor Arrays escalares y asociativos (Unidimensionales) Arrays y funciones. Arrays y funciones Arrays bidimensionales. Arrays

14

La función array()

Para asignar valores a una matriz puede usarse la función array(), que tiene la siguiente sintaxis:

$a= array ( índice 0 => valor, ..... , índice n => valor, );Por ejemplo: $z=array ( 0 => 2, 1 => "Pepe", 2 => 34.7, 3 => "34Ambrosio", );producirá igual resultado que: $z[0]=2; $z[1]="Pepe"; $z[2]=34.7; $z[3]="34Ambrosio";

Page 15: 1 Desarrollo Web en Entorno Servidor Arrays escalares y asociativos (Unidimensionales) Arrays y funciones. Arrays y funciones Arrays bidimensionales. Arrays

15

Anidando en array()La función array() permite escribir arrays de cualquier dimensión utilizando la técnica de anidado.Si pretendemos escribir los elementos de este array: $z[0][0]=34; $z[0][1]=35; $z[0][2]=36; $z[1][0]=134; $z[1][1]=135; $z[1][2]=136; podriamos hacerlo asi: $z=array( 0 => array ( 0 => 34, 1 => 35, 2 => 36, ), 1 => array ( 0 => 134, 1 => 135, 2 => 136, ));

Page 16: 1 Desarrollo Web en Entorno Servidor Arrays escalares y asociativos (Unidimensionales) Arrays y funciones. Arrays y funciones Arrays bidimensionales. Arrays

16

Anidando en array(). Arrays asociativosAunque en el ejemplo anterior nos hemos referido a un array escalar, un procedimiento iéntico

sería válido para arrays asociativos con sólo cambiar los números por cadenas escritas entre comillas.

Este podría ser un ejemplo de array asociativo:$z["a"]["A"]=34;$z["a"]["B"]=35;$z["a"]["C"]=36;$z["b"]["A"]=134;$z["b"]["B"]=135;$z["b"]["C"]=136;que podría definirse también de esta forma: $z=array( "a" => array ( "A" => 34, "B" => 35, "C" => 36, ), "b" => array ( "A" => 134, "B" => 135, "C" => 136, ));

Page 17: 1 Desarrollo Web en Entorno Servidor Arrays escalares y asociativos (Unidimensionales) Arrays y funciones. Arrays y funciones Arrays bidimensionales. Arrays

17

Ejemplo. Array asociativo multidimesional

Page 18: 1 Desarrollo Web en Entorno Servidor Arrays escalares y asociativos (Unidimensionales) Arrays y funciones. Arrays y funciones Arrays bidimensionales. Arrays

18

Recorrido de Arrays.

Ejemplo de Recorrido de Array unidimensional (llamado Tabla) de tamaño 100.

$contador = 0;While ($contador < 100){

echo $tabla[$contador];$contador++;

}

Ejemplo de Recorrido de Array unidimensional (llamado Tabla) de tamaño 100.

$contador = 0;While ($contador < 100){

echo $tabla[$contador];$contador++;

}

Page 19: 1 Desarrollo Web en Entorno Servidor Arrays escalares y asociativos (Unidimensionales) Arrays y funciones. Arrays y funciones Arrays bidimensionales. Arrays

19

Recorrido de Arrays.

Ejemplo de Recorrido de Array bidimensional (llamado Tabla) de 100 filas y 40 columnas.

$contador1 = 0;While ($contador1 < 100){

$Contador2=0;While ($contador2 < 40){

echo $tabla[$contador1][$contador2];$contador2++;

}$contador1++;

}

Ejemplo de Recorrido de Array bidimensional (llamado Tabla) de 100 filas y 40 columnas.

$contador1 = 0;While ($contador1 < 100){

$Contador2=0;While ($contador2 < 40){

echo $tabla[$contador1][$contador2];$contador2++;

}$contador1++;

}

Page 20: 1 Desarrollo Web en Entorno Servidor Arrays escalares y asociativos (Unidimensionales) Arrays y funciones. Arrays y funciones Arrays bidimensionales. Arrays

20

Recorrido de Arrays con Foreach.

El bucle foreach El bucle foreach es específico de los array y aplicable a ellos

tanto si son escalares como si son de tipo asociativo.

Tiene dos posibles opciones. En una de ellas lee únicamente los valores contenidos en cada elemento del array. En el otro caso lee además los índices del array.1. Lectura de valores

foreach( array as var ){...instrucciones...}

2. Lectura de índices y valores.

foreach( array as v1 => v2 ) {...instrucciones...}

El bucle foreach El bucle foreach es específico de los array y aplicable a ellos

tanto si son escalares como si son de tipo asociativo.

Tiene dos posibles opciones. En una de ellas lee únicamente los valores contenidos en cada elemento del array. En el otro caso lee además los índices del array.1. Lectura de valores

foreach( array as var ){...instrucciones...}

2. Lectura de índices y valores.

foreach( array as v1 => v2 ) {...instrucciones...}

Page 21: 1 Desarrollo Web en Entorno Servidor Arrays escalares y asociativos (Unidimensionales) Arrays y funciones. Arrays y funciones Arrays bidimensionales. Arrays

21

Ejemplos con Foreach.

<?php$a=array("a","b","c","d","e");

$b=array( "uno" =>"Primer valor", "dos" =>"Segundo valor", "tres" =>"Tecer valor",);foreach($a as $coco) {

echo $coco,"<br>";};echo"<p> $coco</p>";

foreach($b as $valor) {echo $valor,"<br>";

};?>

<?php$a=array("a","b","c","d","e");

$b=array( "uno" =>"Primer valor", "dos" =>"Segundo valor", "tres" =>"Tecer valor",);foreach($a as $coco) {

echo $coco,"<br>";};echo"<p> $coco</p>";

foreach($b as $valor) {echo $valor,"<br>";

};?>

Page 22: 1 Desarrollo Web en Entorno Servidor Arrays escalares y asociativos (Unidimensionales) Arrays y funciones. Arrays y funciones Arrays bidimensionales. Arrays

22

Ejemplos con Foreach.

<? php$a=array("a","b","c","d","e");

$b=array( "uno" =>"Primer valor", "dos" =>"Segundo valor", "tres" =>"Tecer valor",);

foreach($a as $indice=>$valor) { echo "Indice: ",$indice," Valor: ",$valor,"<br>";};

foreach($b as $indice=>$valor) { echo "Indice: ",$indice," Valor: ",$valor,"<br>";};?>

<? php$a=array("a","b","c","d","e");

$b=array( "uno" =>"Primer valor", "dos" =>"Segundo valor", "tres" =>"Tecer valor",);

foreach($a as $indice=>$valor) { echo "Indice: ",$indice," Valor: ",$valor,"<br>";};

foreach($b as $indice=>$valor) { echo "Indice: ",$indice," Valor: ",$valor,"<br>";};?>

Page 23: 1 Desarrollo Web en Entorno Servidor Arrays escalares y asociativos (Unidimensionales) Arrays y funciones. Arrays y funciones Arrays bidimensionales. Arrays

23

Ejemplos con Foreach.

<?php$z=array( 0 => array ( 0 => 34, 1 => 35, 2 => 36, ), 1 => array ( 0 => 134, 1 => 135, 2 => 136, ));foreach($z as $indice=>$valor) { echo "Indice: ",$indice," Valor: ",$valor,"<br>";};foreach($z as $ind1=>$valor1) { foreach($valor1 as $ind2=>$valorReal) { echo "Ind. 1: ",$ind1,"Ind. 2: ",$ind2," Valor: ",$valorReal,"<br>"; };};?>-- En este ejemplo es necesario usar implode para evitar el error “Array to string conversion “

<?php$z=array( 0 => array ( 0 => 34, 1 => 35, 2 => 36, ), 1 => array ( 0 => 134, 1 => 135, 2 => 136, ));foreach($z as $indice=>$valor) { echo "Indice: ",$indice," Valor: ",$valor,"<br>";};foreach($z as $ind1=>$valor1) { foreach($valor1 as $ind2=>$valorReal) { echo "Ind. 1: ",$ind1,"Ind. 2: ",$ind2," Valor: ",$valorReal,"<br>"; };};?>-- En este ejemplo es necesario usar implode para evitar el error “Array to string conversion “

Page 24: 1 Desarrollo Web en Entorno Servidor Arrays escalares y asociativos (Unidimensionales) Arrays y funciones. Arrays y funciones Arrays bidimensionales. Arrays

24

Obtener información sobre variables y arrays.

                                       

                                       

sizeof(variable)

count(variable)

Tiene idéntica funcionalidad a la de sizeof.

La función sizeof devuelve el número de elementos de un array.

Si se aplica sobre una variable (no array) devolverá uno y tanto si se aplica sobre un array vacío, una variable con valor nulo o sobre una variable no definida, devolverá cero.

isset(variable) La función isset comprueba si una variable está definida o no lo está. Si lo está –incluso con valor nulo o como array vacío– isset devolverá UNO, en caso contrario devolverá NUL.

Esta función puede ser un complemento de sizeof o de count dado que permitiría comprobar si están definidas las variables en las que aquellas funciones devuelven dimensión cero.

Page 25: 1 Desarrollo Web en Entorno Servidor Arrays escalares y asociativos (Unidimensionales) Arrays y funciones. Arrays y funciones Arrays bidimensionales. Arrays

25

Obtener información sobre variables y arrays (II)

is_array(variable) Devuelve UNO (verdadero) en el caso de que la variable sea tipo array y NUL en el caso contrario.

is_long(variable) ois_int(variable) o is_integer(variable)

Estas tres funciones –que son idénticas– devuelven UNO en el caso de que la variable sea de tipo entero y NUL en el caso contrario.

is_float(variable)ó is_double(variable)

Estas dos funciones –también idénticas– devuelven UNO en el caso de que la variable sea de tipo coma flotante y NUL en el caso contrario.

is_string(variable) Devuelve UNO en el caso de que la variable sea tipo string y NUL en caso contrario.

unset(variable) Destruye la variable indicada. Si después de aplicar unset sobre una variable aplicamos de nuevo la función isset, nos devolverá NUL indicando que ya no está definida.La función unset se puede aplicar tanto sobre variables como sobre un array y también sobre un elemento de un array.

Page 26: 1 Desarrollo Web en Entorno Servidor Arrays escalares y asociativos (Unidimensionales) Arrays y funciones. Arrays y funciones Arrays bidimensionales. Arrays

26

Recuentos y búsquedas en arrays

$n=array_count_values(ar) Con array_count_values la variable $n será un array que tendrá como índices cada uno de los valores distintos que contenga el array ar, y como valores el resultado de contar el número de veces que se repite cada uno de los valores contenidos en el array inicial.

Distingue entre mayúsculas y minúsculas.

Cuando el array inicial (ar) contiene números enteros (sea ar escalar o

asociativo) $n será un array escalar. En caso contrario, será asociativo. $clav=array_keys(arr) Devuelve un array escalar (clav) que contiene como valores los índices del array

inicial (arr).

$clav=array_keys(arr, valor)

Devuelve un array escalar (clav) que contiene como valores los índices de los elementos del array inicial cuyo valor coincide con el indicado mediante el parámetro valor.

$valores=array_values(arr) Esta función recoge en una nueva matriz (valores) todos los valores contenidos en otro array.

Es una forma de conversión de un array asociativo en otro escalar.

$variable=array_search(valor,arr)

Busca un valor determinado en un array y devuelve la clave correspondiente en caso de éxito . Si aparece más de una vez es necesario usar array_keys() con el

parámetro opcional search_value.

Page 27: 1 Desarrollo Web en Entorno Servidor Arrays escalares y asociativos (Unidimensionales) Arrays y funciones. Arrays y funciones Arrays bidimensionales. Arrays

27

Localización de valores y posicionamientos en arrays

in_array(valor,array) La función in_array busca en la matriz (array) el valor (numérico o cadena) contenido en el parámetro valor. Si lo encuentra devuelve 1, y, si no existiera devolvería NUL.

Posicionamientos en una matrizMediante estas funciones se puede modificar la posición del puntero interno de una matriz y determinar los índices de los elementos a los que apunta en cada momento.

key(array) Devuelve el índice del elemento de la matriz al que apunta en ese momento el puntero interno de la matriz.

reset(array) Desplaza el puntero interno a la posición del primer índice del array.

end(array) Desplaza el puntero interno a la posición del último índice del array.

pos(array) Mantiene el puntero interno en la posición del actual.

next(array) Avanza el puntero interno en una posición respecto a la actual.

prev(array) Retrocede el puntero interno en una posición respecto a la actual.

¡Cuidado!. Fíjate en el ejemplo. Pese a que hemos pedido a PHP que nos muestre, mediante la instrucción echo $a[3], esa lectura no mueve el puntero interno, que sigue señalando a la primera

posición (devuelve CERO).)

Page 28: 1 Desarrollo Web en Entorno Servidor Arrays escalares y asociativos (Unidimensionales) Arrays y funciones. Arrays y funciones Arrays bidimensionales. Arrays

28

Ordenación de arrays.

sort(array): Ordena los valores del array en sentido creciente y lo reindexa asignando índice CERO al menor de los valores.

rsort(array): Ordena la matriz en sentido decreciente de sus valores y la reindexa asignando índice CERO al mayor de

estos.

Ordenación por valores manteniendo índices

asort(array): Ordena la matriz según sus valores en sentido creciente y mantiene los índices del array original.

arsort(array): Ordena la matriz por valores en sentido decreciente y sigue manteniendo los índices originales.

sort(array): Ordena los valores del array en sentido creciente y lo reindexa asignando índice CERO al menor de los valores.

rsort(array): Ordena la matriz en sentido decreciente de sus valores y la reindexa asignando índice CERO al mayor de

estos.

Ordenación por valores manteniendo índices

asort(array): Ordena la matriz según sus valores en sentido creciente y mantiene los índices del array original.

arsort(array): Ordena la matriz por valores en sentido decreciente y sigue manteniendo los índices originales.

Page 29: 1 Desarrollo Web en Entorno Servidor Arrays escalares y asociativos (Unidimensionales) Arrays y funciones. Arrays y funciones Arrays bidimensionales. Arrays

29

Modificación Arrays.

var= range(inf,sup): Crea una nueva matriz (var) escalar en la que los valores de los elementos serán los números enteros (ordenados) pertenecientes al intervalo comprendido entre los valores inf y sup, incluidos estos. Los valores inf y sup deben ser números enteros.

shuffle(array): Intercambia de modo aleatorio los valores de un array y los reindexa. Igual que ocurría en caso de los números aleatorios, la función shuffle deberá ir precedida de una semilla del tipo srand.

var= array_flip(array): Devuelve un array (var) que contiene como valores los índices de la matriz array y como índices los valores de aquella. Como quiera que los valores pueden estar repetidos y no es posible que lo estén los índices, esta función, en caso de valores repetidos, toma cada uno de esos valores una sola vez, lo utiliza como índice del nuevo array y asigna como valor del nuevo elemento el mayor de los índices –del array original– de los elementos que contuvieran ese valor.

$inv=array_reverse($C): Invierte los elementos de una matriz.

var= range(inf,sup): Crea una nueva matriz (var) escalar en la que los valores de los elementos serán los números enteros (ordenados) pertenecientes al intervalo comprendido entre los valores inf y sup, incluidos estos. Los valores inf y sup deben ser números enteros.

shuffle(array): Intercambia de modo aleatorio los valores de un array y los reindexa. Igual que ocurría en caso de los números aleatorios, la función shuffle deberá ir precedida de una semilla del tipo srand.

var= array_flip(array): Devuelve un array (var) que contiene como valores los índices de la matriz array y como índices los valores de aquella. Como quiera que los valores pueden estar repetidos y no es posible que lo estén los índices, esta función, en caso de valores repetidos, toma cada uno de esos valores una sola vez, lo utiliza como índice del nuevo array y asigna como valor del nuevo elemento el mayor de los índices –del array original– de los elementos que contuvieran ese valor.

$inv=array_reverse($C): Invierte los elementos de una matriz.

Page 30: 1 Desarrollo Web en Entorno Servidor Arrays escalares y asociativos (Unidimensionales) Arrays y funciones. Arrays y funciones Arrays bidimensionales. Arrays

30

Modificación Arrays.

Insertando elementos en un arrays

array_unshift(arr, v1,v2,..): Inserta al principio de la matriz arr los valores v1, v2, etcétera que pueden ser tantos como se deseen y deben estar separados por comas.

array_push(array, v1,v2,..): Inserta al final de la matriz array los valores v1, v2, etcétera, que igual que en el caso anterior, pueden ser tantos como se deseen y deben estar separados por comas. Tanto array_unshift como array_push asignan a los nuevos elementos índices numéricos.

array_pad(array, n, var): Inserta nuevos elementos en array y les asigna el valor contenido en var. Insertará tantos nuevos elementos como sea necesario para que el array alcance una longitud de n elementos.

Si el valor de n es positivo inserta los elementos al final del array. Si fuera negativo los insertaría al comienzo del mismo. A los nuevos elementos del array se

les asignan índices numéricos.

array_merge($a, $b): Crea un nuevo array escalar en el que se incluyen todos los elementos contenidos en los arrays $a y $b.

Insertando elementos en un arrays

array_unshift(arr, v1,v2,..): Inserta al principio de la matriz arr los valores v1, v2, etcétera que pueden ser tantos como se deseen y deben estar separados por comas.

array_push(array, v1,v2,..): Inserta al final de la matriz array los valores v1, v2, etcétera, que igual que en el caso anterior, pueden ser tantos como se deseen y deben estar separados por comas. Tanto array_unshift como array_push asignan a los nuevos elementos índices numéricos.

array_pad(array, n, var): Inserta nuevos elementos en array y les asigna el valor contenido en var. Insertará tantos nuevos elementos como sea necesario para que el array alcance una longitud de n elementos.

Si el valor de n es positivo inserta los elementos al final del array. Si fuera negativo los insertaría al comienzo del mismo. A los nuevos elementos del array se

les asignan índices numéricos.

array_merge($a, $b): Crea un nuevo array escalar en el que se incluyen todos los elementos contenidos en los arrays $a y $b.

Page 31: 1 Desarrollo Web en Entorno Servidor Arrays escalares y asociativos (Unidimensionales) Arrays y funciones. Arrays y funciones Arrays bidimensionales. Arrays

31

Modificación Arrays.

Quitar elementos de un array

array_shift($a): La función array_shift extrae el primer elemento del array $a.

array_pop($a): La función array_pop extrae el último elemento del array $a.

array_slice($a,n): La función array_slice extrae n elementos del array $a. Si el valor de n es positivo extraerá todos los elementos a partir del que ocupa la

posición n contando desde primero hasta el último según el orden de creación de los elementos.

Si el valor de n es negativo extraerá todos los elementos a partir del enésimo, esta vez, contando desde el último hasta el primero.

array_slice($a,n, m): La función array_slice con dos parámetros permite extraer una parte de los valores de una matriz.

Quitar elementos de un array

array_shift($a): La función array_shift extrae el primer elemento del array $a.

array_pop($a): La función array_pop extrae el último elemento del array $a.

array_slice($a,n): La función array_slice extrae n elementos del array $a. Si el valor de n es positivo extraerá todos los elementos a partir del que ocupa la

posición n contando desde primero hasta el último según el orden de creación de los elementos.

Si el valor de n es negativo extraerá todos los elementos a partir del enésimo, esta vez, contando desde el último hasta el primero.

array_slice($a,n, m): La función array_slice con dos parámetros permite extraer una parte de los valores de una matriz.

Page 32: 1 Desarrollo Web en Entorno Servidor Arrays escalares y asociativos (Unidimensionales) Arrays y funciones. Arrays y funciones Arrays bidimensionales. Arrays

32

FINFIN