Una cadena es una secuencia de caracteres entre comillas , como un nombre o una frase. Se pueden utilizar letras , números o signos de puntuación en una cadena. Una matriz es una secuencia de objetos o valores que asigna cada elemento a una tecla . Puede incluir varios tipos de datos diferentes en un conjunto , incluyendo cadenas, enteros o valores booleanos. En PHP , se obtiene el valor de una variable de cadena con el nombre de la variable, pero usar un valor de matriz , hay que llamar con un número de índice .
Offset de error cuando intenta
PHP , se obtiene el "error fatal : no se puede utilizar como una compensación de matriz de cadena " error cuando intenta utilizar una variable de cadena como una matriz. Por ejemplo , puede crear una cadena denominada "$ myvar " y asignar un valor a la misma . Si intenta obtener el valor escribiendo " $ myvar [ 0 ]" (o algún otro valor de índice ) , PHP devolverá el error de desplazamiento , ya que no se puede encontrar el valor del índice en la memoria , ya que - técnicamente - el índice no existe.
Resoluciones
para evitar ver este error fatal de PHP , puede utilizar el " array () " construcción del lenguaje para volver a convertir una variable de cadena como una matriz. Sin embargo , esto borrará cualquier valor contenido en la variable de cadena en el momento . Como alternativa, puede crear otra variable como una matriz y copiar el valor de la cadena en uno de sus índices. Esto preserva el valor de la cadena , pero significa que usted tiene que utilizar un nombre de variable diferente para acceder a ella , por lo que si se utiliza esta variable en otras partes del programa , tendrá que cambiar los nombres de esos lugares .
Consideraciones
Algunos navegadores intentarán compensar este error , tratando de adivinar el valor que desee en su programa PHP. Por ejemplo , si crea una cadena denominada "$ micadena " con "mi cadena" como el valor y escriba "$ micadena [ 3 ] " para obtener el cuarto índice de ella , podría devolver sólo la letra " , s ", que es el cuarto carácter de la cadena . Si bien esto evita causar un error grave , esto podría dañar su programa general.