¿Qué significa el =>
operador en el siguiente código?
foreach ($user_list as $user => $pass)
El código es un comentario en PHP.net. El usuario no especifica el valor de $user_list
, $user
o $pass
. Normalmente veo que eso =>
significa igual o mayor que.
Sin embargo, no estoy seguro de su propósito aquí porque no está asignado. Leí el código como
- procesar una lista de usuarios en números enteros
- tal que el valor de cada usuario sea igual o mayor que la contraseña
Lo anterior no tiene sentido para mí.
Respuestas:
=>
es el separador de matrices asociativas. En el contexto de ese bucle foreach, asigna la clave de la matriz ay$user
el valor a$pass
.Ejemplo:
Tenga en cuenta que esto también se puede utilizar para matrices indexadas numéricamente.
Ejemplo:
fuente
Significa asignar la clave a $ user y la variable a $ pass
Cuando asigna una matriz, lo hace así
Utiliza el mismo símbolo para procesar matrices en declaraciones foreach. El '=>' vincula la clave y el valor.
Según el Manual de PHP , el '=>' creó pares clave / valor.
Además, Igual o Mayor que es la forma opuesta: '> ='. En PHP, el signo mayor o menor que siempre va primero: '> =', '<='.
Y como nota al margen, excluir el segundo valor no funciona como crees. En lugar de solo darle la clave, en realidad solo le da un valor:
fuente
Parse error: syntax error, unexpected T_DOUBLE_ARROW in /var/www/cha.php on line 2
.Un código como "a => b" significa, para una matriz asociativa (algunos lenguajes, como Perl , si recuerdo bien, los llaman "hash") , que 'a' es una clave y 'b' un valor.
Es posible que desee echar un vistazo a la documentación de, al menos:
Aquí, está teniendo una matriz, llamada
$user_list
, y la iterará, obteniendo, para cada línea, la clave de la línea$user
y el valor correspondiente en$pass
.Por ejemplo, este código:
Obtendrá esta salida:
(Lo estoy usando
var_dump
para generar una salida agradable, que facilita la depuración; para obtener una salida normal, usaríaecho
)"Igual o mayor" es al revés: "mayor o igual", que está escrito, en PHP, así; "> ="
Lo mismo para la mayoría de los lenguajes derivados de C: C ++, JAVA, PHP, ...
Como consejo: si recién está comenzando con PHP, definitivamente debería dedicar algo de tiempo (tal vez un par de horas, tal vez incluso medio día o incluso un día entero) revisando algunas partes del manual :-)
It ' ¡Te ayudaría mucho!
fuente
Una matriz en PHP es un mapa de claves a valores:
Si desea hacer algo con cada par clave-valor en su matriz, puede usar la
foreach
estructura de control:La variable $ array es la matriz que utilizará. Las variables $ key y $ value contendrán un par clave-valor en cada iteración del
foreach
ciclo. En este ejemplo, primero contendrán "amarillo" y 3, luego "verde" y 4.Puede usar una notación alternativa si no le importan las claves:
fuente
Las matrices en PHP son matrices asociativas (también conocidas como diccionarios o hashes) de forma predeterminada. Si no asigna explícitamente una clave a un valor, el intérprete lo hará silenciosamente por usted. Entonces, la expresión que tiene allí arriba itera
$user_list
, haciendo que la clave esté disponible como$user
y el valor esté disponible como$pass
como variables locales en el cuerpo delforeach
.fuente
$user_list
es una matriz de datos que, cuando se recorre en bucle, se puede dividir en su nombre y valor.En este caso, su nombre es
$user
y su valor es$pass
.fuente