Tecnología

Inicio

Errores de índice no identificados en PHP

En PHP, una matriz es una estructura de datos compuesta por pares de valores clave. La clave, también llamado un índice, identifica el lugar de la matriz el elemento reside. El valor es el valor del elemento. Por ejemplo, considere la declaración

$ X [12] = 100;

"12" es el índice de la matriz y "100" es el valor del elemento en el índice "12." En la declaración:

$ X [ 'nombre'] = "Marca";

"Nombre" es el índice de matriz y "Marca" es el valor del elemento en ese índice. Un "índice no identificada" error se produce en PHP cuando se intenta hacer referencia al valor de un elemento del array utilizando un índice que no existe en la matriz.

Errores tipográficos

A veces los errores tipográficos causa índice de matriz problems.You pueden crear un bucle para realizar una operación en cada elemento de una matriz y escribir incorrectamente la variable que está utilizando para especificar el índice. Por ejemplo, considere el siguiente fragmento de código que provoca un error "índice no identificada" porque la variable fue escrito mal en el cuerpo del bucle.

de ($ index = 0; $ index <count ($ array); índice de $ ++) {
$ Array [$ idnex] + = 55;
}

Los índices de matrices asociativas

Una matriz asociativa le permite utilizar las teclas alfanuméricas para los índices. Es importante entender que estas teclas de mayúsculas y minúsculas, y que el siguiente código producirá un "índice no identificada" error:

$ Matriz [ 'x'] = 5;
echo $ matriz [ 'X'];

Puede evitar estos errores, transformando el caso de la variable índice mediante la función "strtolower", como en el siguiente ejemplo:

foreach ($ cartas como $ letra) {
echo $ array [strtolower ($ letra)];
}

datos incorrectos

Un "índice no identificada" error a veces puede ocurrir debido a datos erróneos. Por ejemplo, si está procesando un conjunto de datos en la que se puede esperar todos los valores de índice que se va no negativo y se encuentra con un valor negativo en el conjunto de datos, que causará un "índice no identificado" de error. Para evitar que se produzca el error, establecer una condición de índices de matriz trampa ilegal antes de ser utilizados, como en el siguiente ejemplo:

while (($ fila = mysql_fetch_assoc ($ resultado))) {
if ($ fila [ "array_index"] <0) {
echo "Mala valor de índice de matriz". $ Fila [ "array_index"];
} Else {
echo $ array [$ fila [ "array_index"]];
}

Prevenir el error en casos válidos

A veces usted tiene una serie de elementos y desea comprobar si un artículo particular está en la matriz. Por ejemplo, considere esta serie de artículos y la cantidad de cada elemento en la mano:

$ Item [ 'caramelos'] = 100;
$ Item [ 'goma'] = 75;
$ Item [ 'mentas'] = 50;

Si desea comprobar para ver si tiene alguna pastillas, la siguiente declaración, se emitirá un "índice no identificada" error porque no hay ningún elemento de "pastillas" de la matriz.

echo $ item [ 'pastillas'];

Para evitar este error, utilice la función "isset" a la primera comprobación de si el elemento se encuentra en la matriz antes de comprobar el valor de cantidad, como en el siguiente código:

if (isset ($ item [ 'pastillas']) se hacen eco de $ item [ 'pastillas'];