Supongamos que tengo este code:
Código PHP:
$a = "1";
$a[1] = "f";
echo $a;
1f
¿Por qué?... no entiendo la mezcla de arrays y cadenas...
Es una simple curiosidad. Pensé que iba a dar un error
| ||||
Curiosidad sobre cadena y array Hola, Supongamos que tengo este code: Código PHP: 1f ¿Por qué?... no entiendo la mezcla de arrays y cadenas... Es una simple curiosidad. Pensé que iba a dar un error
__________________ Takitei Ingeniarte.com DannyHerran.com "Dadme un punto de apoyo y moveré la tierra" - Arquímedes. |
| |||
no se a q se deba, pero lo voy a usar para listar los errores al enviar un formulario... haber si me hechas una mano con eso, mi post esta en http://www.forosdelweb.com/f18/envio-formularios-con-php-duda-315238/#post1171573 salu2 |
| |||
en mi nivel de novato en esto del php, creo saber porque pasa eso... no estamos aqui hablando de un array especificamente, yo puse este codigo: <? $a = "hola"; $a[2] = "m"; echo $a; ?> y lo que me lanzo es homa creo que en la primera linea lo que se hace es definir la variable $a, y en la segunda buscamos un caracter especifico en la variable para reemplarlo por lo que escribes. es asi q si hubiera puesto en la segunda linea $a[0] = "m"; lo que me hubiera impreso hubiera sido mola... prueba coj tu codigo, solo que en vez de uno ponle 0, lo que hara es imprimirte la letra f solamente jajja supongo q es asi... |
| |||
PHP usa variables dinamicas, variables que se crean a medida que se escriben, por eso siempre hay que tener cuidado, por ejemplo con mayusculas y minusculas para el mismo nombre de variable ($Variable =!= $variable). Ademas el tipo de las variables es dinamico, pueden cambiar con el tiempo, ej: si tengo $variable="texto" y luego hago $variables=1, ahora esta variable apuntara a un tipo de data integer con el valor 1. Toda esta introduccion es para responder a tu intriga, primero defines una variable comun, $a, pero cuando escribes $a[1], el "interprete PHP entiende" que la estas redefiniendo a un array. |
| |||
PHP usa variables dinamicas, variables que se crean a medida que se escriben, por eso siempre hay que tener cuidado, por ejemplo con mayusculas y minusculas para el mismo nombre de variable ($Variable =!= $variable). Ademas el tipo de las variables es dinamico, pueden cambiar con el tiempo, ej: si tengo $variable="texto" y luego hago $variables=1, ahora esta variable apuntara a un tipo de data integer con el valor 1. Toda esta introduccion es para responder a tu intriga, primero defines una variable comun, $a, pero cuando escribes $a[1], el "interprete PHP entiende" que la estas redefiniendo a un array. |
| ||||
matigro, ne este caso, PHP no entiende que estés redefiniendo la cadena por un array. Lo que ocurre es lo que menciona okram. En el manual está bastante bien explicado. Esto debería hacerse únicamente con llaves "{ }" Código PHP: Pueden leerlo en el manual: http://www.php.net/types.string#lang....string.substr Saludos |
| |||
La respuesta es sencilla: $a="hola" es un array que se puede descomponer en... $a[0]="h" $a[1]="o" $a[2]="l" $a[3]="a" ...entonces cuando haces... $a[2]="m"; ...estas cambiando el elemento cuyo indice es 2 por el valor m. |
| |||
Es como dice Okram. Una cadena es un array de caracteres donde el primer elemento tiene el indice 0. En la mayoria de los lenguajes de programacion no existe el tipo: cadena, y se utiliza como array de caracteres. Saludos. |