llamar - ¿Qué significa "=>" en PHP?
listas en php (6)
Código como "a => b" significa, para una matriz asociativa (algunos lenguajes, como Perl , si mal no recuerdo, los llama "hash") , que "a" es una clave y "b" es un valor.
Es posible que desee echar un vistazo a la documentación de, al menos:
Aquí tiene una matriz, llamada $user_list
, e $user_list
sobre ella, obteniendo, para cada línea, la clave de la línea en $user
y el valor correspondiente en $pass
.
Por ejemplo, este código:
$user_list = array(
''user1'' => ''password1'',
''user2'' => ''password2'',
);
foreach ($user_list as $user => $pass)
{
var_dump("user = $user and password = $pass");
}
Te conseguirá esta salida:
string ''user = user1 and password = password1'' (length=37)
string ''user = user2 and password = password2'' (length=37)
(Estoy usando var_dump
para generar un buen resultado, que facilita la depuración, para obtener un resultado normal, usaría echo
)
"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á empezando con PHP, definitivamente debe dedicar un tiempo (tal vez un par de horas, tal vez incluso medio día o incluso un día completo) a algunas partes del manual :-)
¡Te ayudaría mucho!
¿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 =>
significa igual o mayor que.
Sin embargo, no estoy seguro acerca de su propósito aquí porque no está asignado. Leí el código como
- procesar una lista de usuarios en enteros
- de modo que el valor de cada usuario sea igual o mayor que la contraseña
Lo anterior no tiene sentido para mí.
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 silenciosamente lo hará por usted. Por lo tanto, la expresión que tienes arriba repite a través de $user_list
, haciendo que la clave esté disponible como $user
y el valor disponible como $pass
como variables locales en el cuerpo de foreach
.
Significa asignar la clave a $ user y la variable a $ pass
Cuando asigna una matriz, lo hace así
$array = array("key" => "value");
Utiliza el mismo símbolo para procesar matrices en las instrucciones foreach. El ''=>'' vincula la clave y el valor.
Según el Manual de PHP , los pares clave / valor creados ''=>''.
Además, igual o mayor que es la manera opuesta: ''> =''. En PHP, el signo mayor o menor que siempre va primero: ''> ='', ''<=''.
Y solo como una nota al margen, excluir el segundo valor no funciona como crees que sería. En lugar de solo darte la clave, en realidad solo te da un valor:
$array = array("test" => "foo");
foreach($array as $key => $value)
{
echo $key . " : " . $value; // Echoes "test : foo"
}
foreach($array as $value)
{
echo $value; // Echoes "foo"
}
Una matriz en PHP es un mapa de claves de valores:
$array = array();
$array["yellow"] = 3;
$array["green"] = 4;
Si desea hacer algo con cada par clave-valor en su matriz, puede usar la estructura de control foreach
:
foreach ($array as $key => $value)
La variable $ array es la matriz que utilizará. Las variables $ key y $ value contendrán un par clave-valor en cada iteración del ciclo foreach
. 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:
foreach ($array as $value)
$user_list
es una matriz de datos que, cuando se realiza un bucle, se puede dividir en su nombre y valor.
En este caso, su nombre es $user
y su valor es $pass
.
=>
es el separador para matrices asociativas. En el contexto de ese bucle foreach, asigna la clave de la matriz a $user
y el valor a $pass
.
Ejemplo:
$user_list = array(
''dave'' => ''apassword'',
''steve'' => ''secr3t''
);
foreach ($user_list as $user => $pass) {
echo "{$user}''s pass is: {$pass}/n";
}
// Prints:
// "dave''s pass is: apassword"
// "steve''s pass is: secr3t"
Tenga en cuenta que esto también se puede usar para matrices indexadas numéricamente.
Ejemplo:
$foo = array(''car'', ''truck'', ''van'', ''bike'', ''rickshaw'');
foreach ($foo as $i => $type) {
echo "{$i}: {$type}/n";
}
// prints:
// 0: car
// 1: truck
// 2: van
// 3: bike
// 4: rickshaw