SlideShare una empresa de Scribd logo
Vectores en PHP
Damian Carlos Nieto Casanelli
ÍNDICE
• Introducción
- Cómo se declaran y construyen
- Cómo se estructuran
- EJEMPLOS
• Índices
- Tipos de indexado y funcionamiento
- EJEMPLOS
• Funciones nativas de PHP para su manejo
- Funciones de recorrido
- Funciones de ordenación
- Funciones de manipulación
- Funciones especiales para vectores asociativos
ÍNDICE
INTRODUCCIÓN
Se declaran y se accede a los elementos
mediante corchetes. [ ]
La primera componente es cero.
Dentro de un mismo vector puede haber
elementos de tipos distintos.
Se puede acceder a un elemento mediante un
índice asociativo.
Pueden ser multidimensionales, añadiendo más
subíndices.
Se pueden construir mediante array()
EJEMPLOS
$vector1[0]=1;
$vector1[1]=‘hola’
$vector1[“nombre”]=‘Carlos’
$vector2=array(1,”Jordi”,3);
$vector2=array(0=>1,1=>”Jordi”,2=>3);
$vector3=array(0=>33,1=>”Juan”,
”nombre”=>”Sara”,3=>5);
TIPO DE LOS
ELEMENTOS
CONSTRUCCIÓN
$a[0][1]=‘Hola’;
$a[0][“clave”]=‘una cosa’;
$a[“clave1”][“clave2”][0]=‘otra cosa’;
$a[0]=‘nada’;
$a[1]=‘hola’;
$a[]=‘mundo’;
MULTIDIMENSIONALES
AUTOASIGNACION
Asigna a $a[2] el valor
‘mundo’.
EJEMPLOS
$a[]=‘a’;
$a[]=‘b’; equivale a: $a=array(‘a’,’b’,’c’);
$a[]=‘c’;
$cliente1=array(
“nombre” => “Juan”,
“edad” => 23,
“profesion” => “estudiante”
);
VECTORES ASOCIATIVOS
CONSTRUCCIÓN
EJEMPLOS
ÍNDICES ( CLAVES )
Un índice puede ser un número entero o una
cadena de texto.
Si el índice es una cadena no existe un índice
entero correspondiente.
Si se omite el índice, este se genera
automáticamente comenzando por cero.
Si el vector ya contiene índices enteros y se
omite alguno, el siguiente generado será el
mayor índice entero existente +1.
Si definimos dos índices enteros iguales, el
último definido sobreescribirá al anterior.
$frutas = array(
“nispero"=>array("color"=>“amarillo",“sabor"=>“dulce",
“forma"=>“redonda"),
“pomelo" => array("color" => “amarillo",“sabor" => “agrio",
“forma" =>“redonda"),
);
print_r($frutas); Mostrará:
Array(
[nispero]=>Array([color]=>naranja [sabor] =>dulce
[forma] =>redonda)
[pomelo]=>Array([color]=>amarillo [sabor]=>agrio
[forma]=>redonda)
)
EJEMPLOS
ANIDACIÓN
$cosas=array(
“frutas”=>array(“a”=>”naranja”,”b”=>”platano”,
“c”=>”manzana”)
“numeros”=>array(1,2,3,4,5,6)
“equipos” =>array(“primero”,5=>”segundo”,
”tercero”)
);
print_r($cosas); Mostrará:
Array(
[frutas]=>Array([a]=>naranja[b] =>platano[c] =>manzana)
[numeros]=>Array([0]=>1[1]=>2[2]=>3[3]=>4[4]=>5[5]=>6)
[equipos]=>Array([0]=>primero[5] =>segundo[6] =>tercero)
)
ANIDACIÓN
EJEMPLOS
$mivector=array(1,1,1,1,1,8=>1,4 =>1,22,3 =>64);
print_r($mivector); Mostrará:
Array([0]=>1[1]=>1[2]=>1[3]=>64[4]=>1[8]=>1[9]=>22)
El 64 sobreescribe al anterior valor del elemento 3.
El 22 se aloja en el elemento 9 que es el índice de valor
máximo(8) más uno.
EJEMPLOS
FUNCIONES DE RECORRIDO
En PHP cada vector tiene asociado un puntero interno que
apunta a un elemento del vector y que puede ser usado para
recorrer vectores y otras operaciones, las funciones que
operan con el puntero interno son:
reset($array);
Resetea el puntero interno al principio del array.
end($array);
Mueve el puntero al último elemento del array.
next($array);
Mueve el puntero al proximo elemento del array.
prev($array);
Mueve el puntero al elemento previo respecto al actual.
current($array);
Devuelve el elemento apuntado actualmente por el puntero
interno del array.
key($array);
Devuelve el índice del elemento apuntado actualmente por el
puntero interno del array, si es un vector asociativo devuelve la
clave del elemento actual.
$array1=each($array)
Devuelve un vector clave-valor con los valores correspondientes
al elemento actual del array y además mueve el puntero al
elemento siguiente, si es un vector asociativo devuelve clave-
valor, si es un vector común devuelve indice-valor.
Ejemplo:
$pareja=each($vec);
list($clave,$valor)=$pareja;
echo(“La pareja clave-valor actual de vec es $clave = $valor”);
FUNCIONES DE RECORRIDO
FUNCIONES DE ORDENACION
sort($array);
Ordena un vector según los valores de sus elementos, si este es
asociativo considera claves y valores como elementos
comunes (no los distingue). Ordena en orden ascendiente.
rsort($array);
Idem anterior pero ordena en orden descendiente.
asort($array);
Ordena un vector según los valores de sus elementos pero
manteniendo las asociaciones clave-valor. Ordena los pares
ordenados clave-valor según “valor”.
arsort($array);
Idem anterior pero en orden descendiente.
ksort($array);
Ordena un vector asociativo por los valores de sus “claves”
teniendo en cuenta las asociaciones clave-valor.
krsort($array);
Idem anterior pero en orden descendiente.
uksort($array,funcion);
Ordena un vector asociativo por “clave” usando para comparar las
claves la función pasada como parámetro.
uasort($array,funcion);
Ordena un vector por los “valores” de sus elementos preservando
la relación clave-valor de un array asociativo usando para
ordenar la funcion provista por el usuario.
FUNCIONES DE ORDENACION
$vector=array(“d”=>”banana”, “a”=>”limon”,”c”=>”pera”,
“b”=>”aguacate”);
Función Resultado Resultado
sort($vector) “a”,“aguacate”,”b”,”banana”,”c”,”d”,”limon”,”pera”
rsort($vector) “pera”,”limon”,”d”,”c”,”banana”,”b”,”aguacate”,”a”
asort($vector) “b”,”aguacate”,”d”,”banana”,”a”,”limon”,”c”,”pera”
arsort($vector) “c”,”pera”,”a”,”limon”,”d”,”banana”,”b”,”aguacate”
ksort($vector) “a”,”limon”,”b”,”aguacate”,”c”,”pera”,”d”,”banana”
krsort($vector) “d”,”banana”,”c”,”pera”,”b”,”aguacate”,”a”,”limon”
EJEMPLOS
FUNCIONES DE MANIPULACIÓN
Padding:
array=array_pad($mivector,tamaño,valor);
Rellena $mivector con valor hasta que tenga tamaño
elementos, si tamaño es positivo completa agregando
elementos hacia la derecha, si es negativo completa
hacia la izquierda.
Ejemplo:
$entrada = array (12, 10, 9);
$resultado = array_pad ($entrada, 5, 0); // resultado:
(12, 10, 9, 0, 0)
$resultado = array_pad ($entrada, -7, -1); // resultado:
(-1, -1, -1, -1, 12, 10, 9)
List:
List en realidad no es una instrucción, sino una construcción
especial del lenguaje que permite asignar a un grupo de
variables los elementos de un vector.
Ejemplo:
$vector=array(1,2);
list($a,$b)=$vector; //$a=1, $b=2
Si el vector tiene más elementos que las variables que se usan en
list entonces el último elemento de list será un vector con todos
los elementos que quedaban en él (la asignación se hace de
izquierda a derecha).
FUNCIONES DE MANIPULACIÓN
Merge:
$vec1=array_merge($array1,$array2,....);
Si los vectores son asociativos hace una unión de los vectores en
donde si 2 o más vectores tienen la misma clave sólo una
queda en el vector resultado. Si los vectores no son asociativos
(indexados por número) entonces el resultado tiene todos los
elementos de los “n” vectores concatenados.
Sub-Vectores:
$vec1=array_slice($array,offset,cantidad);
Devuelve un sub-vector de $array a partir del offset indicado y
con la cantidad de elementos indicada,si cantidad no se
especifica devuelve todos los elementos desde offset hasta el
fin del vector.
$vec=array(10,6,7,8,23);
$res=array_slice($vec,1,3); //deja en la variable $res 6,7,8
FUNCIONES DE MANIPULACIÓN
Count:
$cantidad=count($vector);
Devuelve la cantidad de elementos de un vector.
Splice:
$vec1=array_splice($vec,offset,cantidad,$vec_reemplazo);
Sustituye los elementos de $vec por los de $vec_reemplazo a
partir del offset y hasta cantidad, si no le pasamos
vec_reemplazo elimina los elementos a partir del offset y hasta
cantidad.
Si no se pasa cantidad se eliminan o reemplazan todos los
elementos desde el offset indicado hasta el fin del vector.
FUNCIONES DE MANIPULACIÓN
Shuffle:
shuffle(array);
Desordena en forma aleatoria los elementos de un vector.
Pertenencia:
$boolean = in_array($elem,$miarray,$strict);
Devuelve verdadero o falso según $elem pertenezca o no a
$miarray, si $strict es true tendrá en cuenta el tipo de los
valores.
Range:
$array=range(low,high);
Crea un vector con los números correspondientes desde low
hasta high.
Ejemplo:
$vec=range(6,12); // $vec=(6,7,8,9,10,11,12);
FUNCIONES DE MANIPULACIÓN
Reverse:
array=array_reverse(array);
Devuelve el vector invertido.
Compact:
array=compact(nombre_var1,nombre_var2,....,nombre_varN);
Crea un vector asociativo cuyas claves son los nombres de las
variables y los valores el contenido de las mismas.
Ejemplo:
$ciudad=”miami”;
$edad=”23”;
$vec=compact(“ciudad”,”edad”);
Es equivalente a:
$vec=array(“ciudad”=>”miami”,”edad”=>”23”);
FUNCIONES DE MANIPULACIÓN
Función:
array_walk permite aplicar una función a todos y cada uno de los
elementos de un vector. La sintaxis es:
array_walk($array1,funcion,variable_extra);
Nos sirve para aplicar una función pasada como parámetro a
cada uno de los elementos del vector $array1, la función
recibirá como parámetro en primer lugar el “valor” del elemento
de $array1 y en segundo lugar la “clave”, si el vector no es
asociativo la clave es el numero de índice (0,1,2...).
variable_extra es opcional.
Si se pasa variable_extra que puede ser cualquier tipo de PHP
incluyendo un objeto, la función recibe dicha variable como
tercer parámetro.
FUNCIONES DE MANIPULACIÓN
Otras funciones:
array_diff() Calcula las diferencias entre dos arrays.
array_fill() Rellena un array con valores.
array_search() Busca un valor y devuelve su posicion.
array_sum() Calcula la suma de todos los valores.
FUNCIONES DE MANIPULACIÓN
FUNCIONES PARA VECTORES
ASOCIATIVOS
&array1=array_keys($array)
Devuelve un vector con todas las claves de un vector asociativo.
&array1=array_values($array)
Devuelve un vector con todos los valores de un vector asociativo.
Bibliografía
• Apuntes de clase:Tema 7(PHP)
• ajo.thinknerd.com/docs/cursophp/curso_php_cap_09.PDF
-------------------------------------------------------------¿PREGUNTAS?

Más contenido relacionado

PDF
Vectores o arreglos con PHP
PDF
44 Php Informacion Sobre Variables
PDF
26 Php. Array Escalar Y Asociativo
PDF
Perl2 arrays
PDF
53 Php. Clases Y Objetos
PDF
Funciones excel
PDF
2 3 arrays_php
PDF
Perl (practical extraction and report language)
Vectores o arreglos con PHP
44 Php Informacion Sobre Variables
26 Php. Array Escalar Y Asociativo
Perl2 arrays
53 Php. Clases Y Objetos
Funciones excel
2 3 arrays_php
Perl (practical extraction and report language)

La actualidad más candente (19)

PPT
Arrays en PHP y Funciones de Mysql
DOCX
Ensayo iv
PDF
2 6 validar_formularios
PPTX
Elementos del Hardware y Software
PDF
17 Php. Otras Variables
PPT
Tema2[php]
PPT
Diagramadeclase 20090223
PDF
M. carrito d compra en phpfinal
PPTX
J query
PDF
Java script teoria
DOC
Php
PDF
Drupal7 para desarrolladores
PDF
Vba y objetos excel
PPTX
Manejo de errores con typelevel.cats
KEY
Ruby intro
PPTX
php Fundamentos
ODP
El Mal Odiado Javascript
Arrays en PHP y Funciones de Mysql
Ensayo iv
2 6 validar_formularios
Elementos del Hardware y Software
17 Php. Otras Variables
Tema2[php]
Diagramadeclase 20090223
M. carrito d compra en phpfinal
J query
Java script teoria
Php
Drupal7 para desarrolladores
Vba y objetos excel
Manejo de errores con typelevel.cats
Ruby intro
php Fundamentos
El Mal Odiado Javascript
Publicidad

Destacado (14)

DOCX
Suma binaria
DOCX
Main
TXT
Conversion de decimal a octal
DOCX
Pdedatos
PDF
Procesamiento de datos
RTF
Dfuncionocumento
DOC
Formulario
RTF
Sumaoctal
DOC
Funcion
RTF
Palindromo
TXT
Ejemplo
RTF
Pila
PDF
PPTX
Sql DDL Lenguaje de definición de datos
Suma binaria
Main
Conversion de decimal a octal
Pdedatos
Procesamiento de datos
Dfuncionocumento
Formulario
Sumaoctal
Funcion
Palindromo
Ejemplo
Pila
Sql DDL Lenguaje de definición de datos
Publicidad

Similar a Arreglos php (20)

PDF
48 Php. Modificacion De Arrays
PDF
47 Php. Ordenacion De Arrays Ii
PDF
82 Php. Ver Y Modificar Estructuras
PPTX
Matrices en php diaspositivas
PPTX
Java script estructuras_datos
PDF
42 Php. Bucles Foreach
PPT
PHP: Arrays
PDF
Persistencia avanzada de datos en Java. JPA
PPTX
Vectores
PPTX
Vectores (1)
PPTX
PPTX
Vectores
PPTX
Vectores (1)
PDF
46 Php. Ordenacion De Arrays I
PPTX
Arrays bucles y condicionales en PHP.pptx
PDF
Vector
PPTX
PPTX
Programacion de Cadenas
DOCX
vectores-unidimensionales
PPTX
Trabajo en grupo
48 Php. Modificacion De Arrays
47 Php. Ordenacion De Arrays Ii
82 Php. Ver Y Modificar Estructuras
Matrices en php diaspositivas
Java script estructuras_datos
42 Php. Bucles Foreach
PHP: Arrays
Persistencia avanzada de datos en Java. JPA
Vectores
Vectores (1)
Vectores
Vectores (1)
46 Php. Ordenacion De Arrays I
Arrays bucles y condicionales en PHP.pptx
Vector
Programacion de Cadenas
vectores-unidimensionales
Trabajo en grupo

Más de jbersosa (20)

DOCX
Las excepciones standar
DOCX
Mas sobre excepciones
DOCX
Estructuras de control try catch
PDF
Clasen1java
PDF
Programación java1
RTF
Tercercortesistop
PDF
Encapsulacion
DOCX
Administracion de la memoria principal
PPTX
Auditoria 2
PDF
Auditoriasistemasi 150703002656-lva1-app6891
PDF
Auditoria informatica
PPTX
Auditoria de sistemas (1)
PPTX
Auditoría de sistemas de información presentación
PDF
Realizar investigación y hacer un análisis por cada tema asignado al particip...
DOCX
Sistemas operativos
PDF
Estructura de una red
DOCX
Proyectodeprogramacinidesegundocorte2015 2
DOCX
Bases de datos mysql y repotes usando jasper report
PDF
Continuación 3 de la creación de reportes con jasper report
PDF
Continuacion ejemplo de base de datos y reports con jasper report
Las excepciones standar
Mas sobre excepciones
Estructuras de control try catch
Clasen1java
Programación java1
Tercercortesistop
Encapsulacion
Administracion de la memoria principal
Auditoria 2
Auditoriasistemasi 150703002656-lva1-app6891
Auditoria informatica
Auditoria de sistemas (1)
Auditoría de sistemas de información presentación
Realizar investigación y hacer un análisis por cada tema asignado al particip...
Sistemas operativos
Estructura de una red
Proyectodeprogramacinidesegundocorte2015 2
Bases de datos mysql y repotes usando jasper report
Continuación 3 de la creación de reportes con jasper report
Continuacion ejemplo de base de datos y reports con jasper report

Último (20)

PDF
Todo sobre la contaminación en el planeta
PDF
9.- Procesos Biologicos que se desarollan en la ingenieria sanitaria.pdf
PDF
Agentes de riesgos laborales en higienes
PDF
Requerimientos SEREMI manejo RESPEL Y SUSPEL.pdf
PDF
Presentación educativa de agua virtual huella hídrica.pdf
PDF
CAPACITACION GESTION DE RESIDUOS SOLIDOS
PPT
exposición y control de la Contaminacion_Acustica.ppt
PDF
CALIDAD AMBIENTAL III: Ecosistemas del mundo
PDF
Trabajo sobre los factores físicos y el entorno
PPTX
SESION 13.pptx. cambio climático y gestión de riesgos
PDF
Tarifa Generacion Distribuida - Argentina EDENOR y EDESUR
PPTX
Normativa española sobre mercancías peligrosas.pptx
PPTX
INDUCCION PROCESOS EN EL SENA PARA EL INGRESO
PPTX
Introduccion_al_Medio_Ambiente_y_Desarrollo_Sostenible.pptx
PDF
ultimo triptico de ajbones biodergadabales
PPTX
Ciencias Naturales: huerta coni y jaz.pptx
PDF
D08_SESION 18_2022.12.12_MODELOS DE PRIORIZACION DE STAKEHOLDERS.pdf
PPTX
VARIACIONES DEL AGUA ALMACENADA EN CUENCAS HIDROGRÁFICAS.pptx
PPTX
Prenentación metodos _Guadalupe Cervantes.pptx
PDF
Curva especie área con la superficie de habitat
Todo sobre la contaminación en el planeta
9.- Procesos Biologicos que se desarollan en la ingenieria sanitaria.pdf
Agentes de riesgos laborales en higienes
Requerimientos SEREMI manejo RESPEL Y SUSPEL.pdf
Presentación educativa de agua virtual huella hídrica.pdf
CAPACITACION GESTION DE RESIDUOS SOLIDOS
exposición y control de la Contaminacion_Acustica.ppt
CALIDAD AMBIENTAL III: Ecosistemas del mundo
Trabajo sobre los factores físicos y el entorno
SESION 13.pptx. cambio climático y gestión de riesgos
Tarifa Generacion Distribuida - Argentina EDENOR y EDESUR
Normativa española sobre mercancías peligrosas.pptx
INDUCCION PROCESOS EN EL SENA PARA EL INGRESO
Introduccion_al_Medio_Ambiente_y_Desarrollo_Sostenible.pptx
ultimo triptico de ajbones biodergadabales
Ciencias Naturales: huerta coni y jaz.pptx
D08_SESION 18_2022.12.12_MODELOS DE PRIORIZACION DE STAKEHOLDERS.pdf
VARIACIONES DEL AGUA ALMACENADA EN CUENCAS HIDROGRÁFICAS.pptx
Prenentación metodos _Guadalupe Cervantes.pptx
Curva especie área con la superficie de habitat

Arreglos php

  • 1. Vectores en PHP Damian Carlos Nieto Casanelli
  • 2. ÍNDICE • Introducción - Cómo se declaran y construyen - Cómo se estructuran - EJEMPLOS • Índices - Tipos de indexado y funcionamiento - EJEMPLOS
  • 3. • Funciones nativas de PHP para su manejo - Funciones de recorrido - Funciones de ordenación - Funciones de manipulación - Funciones especiales para vectores asociativos ÍNDICE
  • 4. INTRODUCCIÓN Se declaran y se accede a los elementos mediante corchetes. [ ] La primera componente es cero. Dentro de un mismo vector puede haber elementos de tipos distintos. Se puede acceder a un elemento mediante un índice asociativo. Pueden ser multidimensionales, añadiendo más subíndices. Se pueden construir mediante array()
  • 7. $a[]=‘a’; $a[]=‘b’; equivale a: $a=array(‘a’,’b’,’c’); $a[]=‘c’; $cliente1=array( “nombre” => “Juan”, “edad” => 23, “profesion” => “estudiante” ); VECTORES ASOCIATIVOS CONSTRUCCIÓN EJEMPLOS
  • 8. ÍNDICES ( CLAVES ) Un índice puede ser un número entero o una cadena de texto. Si el índice es una cadena no existe un índice entero correspondiente. Si se omite el índice, este se genera automáticamente comenzando por cero. Si el vector ya contiene índices enteros y se omite alguno, el siguiente generado será el mayor índice entero existente +1. Si definimos dos índices enteros iguales, el último definido sobreescribirá al anterior.
  • 9. $frutas = array( “nispero"=>array("color"=>“amarillo",“sabor"=>“dulce", “forma"=>“redonda"), “pomelo" => array("color" => “amarillo",“sabor" => “agrio", “forma" =>“redonda"), ); print_r($frutas); Mostrará: Array( [nispero]=>Array([color]=>naranja [sabor] =>dulce [forma] =>redonda) [pomelo]=>Array([color]=>amarillo [sabor]=>agrio [forma]=>redonda) ) EJEMPLOS ANIDACIÓN
  • 11. $mivector=array(1,1,1,1,1,8=>1,4 =>1,22,3 =>64); print_r($mivector); Mostrará: Array([0]=>1[1]=>1[2]=>1[3]=>64[4]=>1[8]=>1[9]=>22) El 64 sobreescribe al anterior valor del elemento 3. El 22 se aloja en el elemento 9 que es el índice de valor máximo(8) más uno. EJEMPLOS
  • 12. FUNCIONES DE RECORRIDO En PHP cada vector tiene asociado un puntero interno que apunta a un elemento del vector y que puede ser usado para recorrer vectores y otras operaciones, las funciones que operan con el puntero interno son: reset($array); Resetea el puntero interno al principio del array. end($array); Mueve el puntero al último elemento del array. next($array); Mueve el puntero al proximo elemento del array. prev($array); Mueve el puntero al elemento previo respecto al actual. current($array); Devuelve el elemento apuntado actualmente por el puntero interno del array.
  • 13. key($array); Devuelve el índice del elemento apuntado actualmente por el puntero interno del array, si es un vector asociativo devuelve la clave del elemento actual. $array1=each($array) Devuelve un vector clave-valor con los valores correspondientes al elemento actual del array y además mueve el puntero al elemento siguiente, si es un vector asociativo devuelve clave- valor, si es un vector común devuelve indice-valor. Ejemplo: $pareja=each($vec); list($clave,$valor)=$pareja; echo(“La pareja clave-valor actual de vec es $clave = $valor”); FUNCIONES DE RECORRIDO
  • 14. FUNCIONES DE ORDENACION sort($array); Ordena un vector según los valores de sus elementos, si este es asociativo considera claves y valores como elementos comunes (no los distingue). Ordena en orden ascendiente. rsort($array); Idem anterior pero ordena en orden descendiente. asort($array); Ordena un vector según los valores de sus elementos pero manteniendo las asociaciones clave-valor. Ordena los pares ordenados clave-valor según “valor”. arsort($array); Idem anterior pero en orden descendiente.
  • 15. ksort($array); Ordena un vector asociativo por los valores de sus “claves” teniendo en cuenta las asociaciones clave-valor. krsort($array); Idem anterior pero en orden descendiente. uksort($array,funcion); Ordena un vector asociativo por “clave” usando para comparar las claves la función pasada como parámetro. uasort($array,funcion); Ordena un vector por los “valores” de sus elementos preservando la relación clave-valor de un array asociativo usando para ordenar la funcion provista por el usuario. FUNCIONES DE ORDENACION
  • 16. $vector=array(“d”=>”banana”, “a”=>”limon”,”c”=>”pera”, “b”=>”aguacate”); Función Resultado Resultado sort($vector) “a”,“aguacate”,”b”,”banana”,”c”,”d”,”limon”,”pera” rsort($vector) “pera”,”limon”,”d”,”c”,”banana”,”b”,”aguacate”,”a” asort($vector) “b”,”aguacate”,”d”,”banana”,”a”,”limon”,”c”,”pera” arsort($vector) “c”,”pera”,”a”,”limon”,”d”,”banana”,”b”,”aguacate” ksort($vector) “a”,”limon”,”b”,”aguacate”,”c”,”pera”,”d”,”banana” krsort($vector) “d”,”banana”,”c”,”pera”,”b”,”aguacate”,”a”,”limon” EJEMPLOS
  • 17. FUNCIONES DE MANIPULACIÓN Padding: array=array_pad($mivector,tamaño,valor); Rellena $mivector con valor hasta que tenga tamaño elementos, si tamaño es positivo completa agregando elementos hacia la derecha, si es negativo completa hacia la izquierda. Ejemplo: $entrada = array (12, 10, 9); $resultado = array_pad ($entrada, 5, 0); // resultado: (12, 10, 9, 0, 0) $resultado = array_pad ($entrada, -7, -1); // resultado: (-1, -1, -1, -1, 12, 10, 9)
  • 18. List: List en realidad no es una instrucción, sino una construcción especial del lenguaje que permite asignar a un grupo de variables los elementos de un vector. Ejemplo: $vector=array(1,2); list($a,$b)=$vector; //$a=1, $b=2 Si el vector tiene más elementos que las variables que se usan en list entonces el último elemento de list será un vector con todos los elementos que quedaban en él (la asignación se hace de izquierda a derecha). FUNCIONES DE MANIPULACIÓN
  • 19. Merge: $vec1=array_merge($array1,$array2,....); Si los vectores son asociativos hace una unión de los vectores en donde si 2 o más vectores tienen la misma clave sólo una queda en el vector resultado. Si los vectores no son asociativos (indexados por número) entonces el resultado tiene todos los elementos de los “n” vectores concatenados. Sub-Vectores: $vec1=array_slice($array,offset,cantidad); Devuelve un sub-vector de $array a partir del offset indicado y con la cantidad de elementos indicada,si cantidad no se especifica devuelve todos los elementos desde offset hasta el fin del vector. $vec=array(10,6,7,8,23); $res=array_slice($vec,1,3); //deja en la variable $res 6,7,8 FUNCIONES DE MANIPULACIÓN
  • 20. Count: $cantidad=count($vector); Devuelve la cantidad de elementos de un vector. Splice: $vec1=array_splice($vec,offset,cantidad,$vec_reemplazo); Sustituye los elementos de $vec por los de $vec_reemplazo a partir del offset y hasta cantidad, si no le pasamos vec_reemplazo elimina los elementos a partir del offset y hasta cantidad. Si no se pasa cantidad se eliminan o reemplazan todos los elementos desde el offset indicado hasta el fin del vector. FUNCIONES DE MANIPULACIÓN
  • 21. Shuffle: shuffle(array); Desordena en forma aleatoria los elementos de un vector. Pertenencia: $boolean = in_array($elem,$miarray,$strict); Devuelve verdadero o falso según $elem pertenezca o no a $miarray, si $strict es true tendrá en cuenta el tipo de los valores. Range: $array=range(low,high); Crea un vector con los números correspondientes desde low hasta high. Ejemplo: $vec=range(6,12); // $vec=(6,7,8,9,10,11,12); FUNCIONES DE MANIPULACIÓN
  • 22. Reverse: array=array_reverse(array); Devuelve el vector invertido. Compact: array=compact(nombre_var1,nombre_var2,....,nombre_varN); Crea un vector asociativo cuyas claves son los nombres de las variables y los valores el contenido de las mismas. Ejemplo: $ciudad=”miami”; $edad=”23”; $vec=compact(“ciudad”,”edad”); Es equivalente a: $vec=array(“ciudad”=>”miami”,”edad”=>”23”); FUNCIONES DE MANIPULACIÓN
  • 23. Función: array_walk permite aplicar una función a todos y cada uno de los elementos de un vector. La sintaxis es: array_walk($array1,funcion,variable_extra); Nos sirve para aplicar una función pasada como parámetro a cada uno de los elementos del vector $array1, la función recibirá como parámetro en primer lugar el “valor” del elemento de $array1 y en segundo lugar la “clave”, si el vector no es asociativo la clave es el numero de índice (0,1,2...). variable_extra es opcional. Si se pasa variable_extra que puede ser cualquier tipo de PHP incluyendo un objeto, la función recibe dicha variable como tercer parámetro. FUNCIONES DE MANIPULACIÓN
  • 24. Otras funciones: array_diff() Calcula las diferencias entre dos arrays. array_fill() Rellena un array con valores. array_search() Busca un valor y devuelve su posicion. array_sum() Calcula la suma de todos los valores. FUNCIONES DE MANIPULACIÓN
  • 25. FUNCIONES PARA VECTORES ASOCIATIVOS &array1=array_keys($array) Devuelve un vector con todas las claves de un vector asociativo. &array1=array_values($array) Devuelve un vector con todos los valores de un vector asociativo.
  • 26. Bibliografía • Apuntes de clase:Tema 7(PHP) • ajo.thinknerd.com/docs/cursophp/curso_php_cap_09.PDF -------------------------------------------------------------¿PREGUNTAS?