Un
array puede ser creado por la construcción de lenguaje
array(). Ésta toma un cierto número de parejas
clave => valor separadas con coma.
array( [clave =>] valor
, ...
)
// clave puede ser un integer o string
// valor puede ser cualquier valor
|
Una
clave puede ser un
integer o un
string. Si una clave es la representación estándar de un
integer, será interpretada como tal (es decir,
"8" será interpretado como
8, mientras que
"08" será interpretado como
"08"). Los valores flotantes en
clave serán truncados a valores tipo
integer. No existen tipos diferentes para matrices indexadas y asociativas en PHP; sólo existe un tipo de matriz, el cual puede contener índices tipo entero o cadena.
Un valor puede ser de cualquier tipo en PHP.
Si no especifica una clave para un valor dado, entonces es usado el máximo de los índices enteros, y la nueva clave será ese valor máximo + 1. Si especifica una clave que ya tiene un valor asignado, ése valor será sobrescrito.
Aviso |
A partir de PHP 4.3.0, el comportamiento de generación de índices descrito ha cambiado. Ahora, si agrega un elemento a una matriz cuya clave máxima actual es un valor negativo, entonces la siguiente clave creada será cero (0). Anteriormente, el nuevo índice hubiera sido establecido a la clave mayor existente + 1, al igual que con los índices positivos. |
Al usar
TRUE como clave, el valor será evaluado al
integer 1. Al usar
FALSE como clave, el valor será evaluado al
integer 0. Al usar
NULL como clave, el valor será evaluado a una cadena vacía. El uso de una cadena vacía como clave creará (o reemplazará) una clave con la cadena vacía y su valor; no es lo mismo que usar corchetes vacíos.
No es posible usar matrices u objetos como claves. Al hacerlo se producirá una advertencia:
Illegal offset type.
Es posible modificar una matriz existente al definir valores explícitamente en ella.
Esto es posible al asignar valores a la matriz al mismo tiempo que se especifica la clave entre corchetes. También es posible omitir la clave, agregar una pareja vacía de corchetes ("
[]") al nombre de la variable en ese caso.
$matriz[clave] = valor;
$matriz[] = valor;
// clave puede ser un integer o string
// valor puede ser cualquier valor
|
Si
$matriz no existe aun, ésta será creada. De modo que esta es también una forma alternativa de especificar una matriz. Para modificar un cierto valor, simplemente asigne un nuevo valor a un elemento especificado con su clave. Si desea remover una pareja clave/valor, necesita eliminarla mediante
unset().
Nota: Como se menciona anteriormente, si provee los corchetes sin ninguna clave especificada, entonces se toma el máximo de los índices enteros existentes, y la nueva clave será ese valor máximo + 1. Si no existen índices enteros aun, la clave será 0 (cero). Si especifica una clave que ya tenía un valor asignado, el valor será reemplazado.
Aviso |
A partir de PHP 4.3.0, el comportamiento de generación de índices descrito ha cambiado. Ahora, si agrega un elemento al final de una matriz en la que la clave máxima actual es negativa, la siguiente clave creada será cero (0). Anteriormente, el nuevo índice hubiera sido definido como la mayor clave + 1, al igual que ocurre con los índices positivos. |
Note que la clave entera máxima usada para este caso no necesita existir actualmente en la matriz. Tan solo debe haber existido en la matriz en algún punto desde que la matriz haya sido re-indexada. El siguiente ejemplo ilustra este caso:
No response to “Matrices”
Publicar un comentario