Documente Academic
Documente Profesional
Documente Cultură
Una matriz en PHP es en realidad un mapa ordenado. Un mapa es un tipo de datos que asocia valores con claves. Este tipo es optimizado en varias formas, de modo que puede usarlo como una matriz real, o una lista (vector), tabla asociativa (caso particular de implementacin de un mapa), diccionario, coleccin, pila, cola y probablemente ms. Ya que puede tener otra matriz PHP como valor, es realmente fcil simular rboles. Existen diferentes tipos de arrays que veremos en detalle: idexadas que son las ms comunes, asociativas y multidimensionales.
IDEXADAS.- Las arrays indexadas son el tipo de matrices que ms se utilizan, en las cuales el valor del primer elemento equivale a cero, y los dems siempre aumentan en una unidad. Un ejemplo de solo un array con sus respectivos elementos sera:
array('elemento', "otro elemento", $elemento_tres, 'elemento 4') Donde el valor del primer elemento llamado 'elemento' es 0, el del segundo 'otro elemento' es 1, el de $elemento_tres es 2 y el de 'elemento 4' es 3. Esto puede escribirse de la siguiente forma para ver la equivalencia entre los elementos y sus valores:
array( 0 => 'elemento', 1 => "otro elemento", 2 => $elemento_tres, 3 => 'elemento 4' )
ASOCIATIVAS.- Las arrays asociativas son el tipo de matrices en las cuales sus
elementos se forman por pares de clave-valor, en el que la clave corresponde al nombre con el cual se acceder al elemento que no necesariamente debe ser un nmero y el valor al elemento en s. As, podemos obtener un array en el que una clave se asocia a su valor, pero a diferencia de una array indexada, sus elementos separados por comas conformados por el par clave-valor, deben separarse por los caracteres "=>". Ejemplo:
array(
'clave uno' => 'valor uno', "clave dos" => "valor dos", $elemento_tres => 'valor 3', 'clave 4' => $valor_4 ) <?php $mineral = array(
'dorado' => 'Oro', 'plateado' => 'Plata', 'brillante' => 'Diamante', 'negro' => 'Carbn' ); echo $mineral['brillante']; ?>
Para crear matrices en PHP existen dos formas: -forma implcita.- que consistira en indicarle el elemento(ya sea proporcionando su posicin o su clave).Ejemplo: $nombres[0]='Javier'; En caso de no indicarle una posicin el array tomara el valor siguiente al ultimo valor introducido. Ejemplo: $nombres[]='Lucas' // tomara como valor 1 ya que lo ultimo introducido era 0. - Mediante array().- en el cual le pasamos los elementos como parmetros. En caso de matriz indexada toman la posicin que ocupan en la creacin de la matriz, mientras que los de la matriz asociativa se les asigna su valor mediante "=>".Ejemplo: $amigo=array('Nombre'=>'Jose','Direccion'=>'Neopatria 21'); Cabe destacar que PHP no solo se limita a la existencia de matrices por s solo sino que existen matrices de matrices, o lo que es lo mismo, matrices multidimensionales. Ejemplo: $amigos[2]['Pedro'].
La funcin que realiza el constructor list(variable1,variable2...variableN) es asignar los valores del elemento actual de una matriz a las variables indicadas como parmetro
Insercin de elementos
Para la insercin de elementos dentro de un array existen una serie de funciones que nos permiten aadir elementos. Entre ellas destacamos: array_push(matriz,variable1,variableN); Aade elementos al final de la funcin y su longitud se incrementara tantos elementos como se hayan aadido array_unshift(matriz,variable1,variableN); Aade elementos al principio de la funcin desplazando a los otros tantas posiciones como elementos haya. array_pad(matriz,nuevo_tamao,valor_relleno); Aumenta el tamao de la matriz empleando un valor proporcionado como relleno.
Eliminacin de elementos
array_shift(matriz); Elimina el primer elemento de la matriz array_pop(matriz); Elimina el ltimo elemento de la matriz array_splice(entrada,pos_ini,[tamao],[sustitutos]); Se usa para reemplazar o borrar el contenido de una porcin de matriz, para ello debemos especificar la posicin desde la cual queremos iniciar el borrado o sustitucin, el tamao o nmero de elementos que se vern afectados y los sustitutos (en caso que deseemos sustituirlo por algn elemento). array_keys(matriz,[valor buscado]); Se emplea cuando deseamos eliminar un elemento cuya posicin desconocemos. array_values(matriz); Devuelve una matriz indexada con todos los valores almacenados en la matriz pasada como parmetro.
Obtencin de submatrices
array_slice(matriz,posicion,tamao); Permite extraer una secuencia de elementos de una matriz. Los parmetros a pasarle son la matriz en la cual queremos extraer dichos elementos, la posicin desde la que se inicia la extraccin y el tamao de la extraccin (posiciones que abarcamos a partir de la inicial). 4
Ordenacin de matrices
Criterio Orden ascendente(matriz indexada) Orden descendente(matriz indexada) Orden ascendente por valor(matriz asociativa) Orden descendente por valor(matriz asociativa) Orden ascendente por clave(matriz asociativa) Orden descendente por clave(matriz asociativa) Funcin sort(matriz) rsort(matriz) asort(matriz) arsort(matriz) ksort(matriz) krsort(matriz)
compact() Devuelve una matriz asociativa a partir de un numero indeterminado de parmetros extract() Crea variables desde matriz asociativa array_unique() Devuelve matriz sin datos repetidos ya que algunos se eliminan array_reverse() Devuelve matriz con mismos elementos pero en orden inverso shuffle() Modifica el orden de elementos de forma aleatoria array_count_values() Devuelve una matriz asociativa que contiene frecuencias de repeticin de los valores de la matriz in_array() Permite comprobar si un valor esta en la matriz array_merge() Combina elementos de dos matrices en 1.