O que o =>
operador quer dizer no código a seguir?
foreach ($user_list as $user => $pass)
O código é um comentário em PHP.net. O usuário não especifica o valor de $user_list
, $user
ou $pass
. Normalmente vejo que =>
significa igual ou maior que.
No entanto, não tenho certeza sobre seu propósito aqui porque não foi atribuído. Eu li o código como
- processar uma lista de usuários em números inteiros
- de forma que o valor de cada usuário seja igual ou maior que a senha
O acima exposto não faz sentido para mim.
Respostas:
=>
é o separador para matrizes associativas. No contexto desse loop foreach, ele atribui a chave do array a$user
e o valor a$pass
.Exemplo:
Observe que isso também pode ser usado para matrizes indexadas numericamente.
Exemplo:
fonte
Significa atribuir a chave a $ user e a variável a $ pass
Quando você atribui uma matriz, você faz assim
Ele usa o mesmo símbolo para o processamento de matrizes em instruções foreach. O '=>' vincula a chave e o valor.
De acordo com o Manual do PHP , o '=>' criou pares de chave / valor.
Além disso, Igual ou Maior que é o caminho oposto: '> ='. No PHP, o sinal de maior ou menor que sempre vai primeiro: '> =', '<='.
E apenas como uma observação lateral, excluir o segundo valor não funciona como você pensa. Em vez de apenas fornecer a chave, na verdade, apenas fornece um valor:
fonte
Parse error: syntax error, unexpected T_DOUBLE_ARROW in /var/www/cha.php on line 2
.Código como "a => b" significa, para uma matriz associativa (algumas linguagens, como Perl , se bem me lembro, chame-as de "hash") , que 'a' é uma chave e 'b' um valor.
Você pode querer dar uma olhada na documentação de, pelo menos:
Aqui, você tem uma matriz, chamada
$user_list
, e itera sobre ela, obtendo, para cada linha, a chave da linha em$user
e o valor correspondente em$pass
.Por exemplo, este código:
Receberá esta saída:
(Estou usando
var_dump
para gerar uma boa saída, que facilita a depuração; para obter uma saída normal, você usariaecho
)"Igual ou maior" é o contrário: "maior ou igual", que é escrito, em PHP, assim; "> ="
O mesmo para a maioria das linguagens derivadas de C: C ++, JAVA, PHP, ...
Como um conselho: se você está apenas começando com PHP, você definitivamente deve gastar algum tempo (talvez algumas horas, talvez até meio dia ou até mesmo um dia inteiro) examinando algumas partes do manual :-)
Isso ' te ajudaria muito!
fonte
Uma matriz em PHP é um mapa de chaves para valores:
Se quiser fazer algo com cada par de valores-chave em sua matriz, você pode usar a
foreach
estrutura de controle:A variável $ array é o array que você usará. As variáveis $ key e $ value conterão um par chave-valor em cada iteração do
foreach
loop. Neste exemplo, eles conterão primeiro "amarelo" e 3, depois "verde" e 4.Você pode usar uma notação alternativa se não se importar com as chaves:
fonte
Arrays em PHP são arrays associativos (também conhecidos como dicionários ou hashes) por padrão. Se você não atribuir explicitamente uma chave a um valor, o intérprete fará isso silenciosamente para você. Portanto, a expressão que você obteve lá itera
$user_list
, disponibilizando a chave como$user
e o valor disponível como$pass
variáveis locais no corpo doforeach
.fonte
$user_list
é um array de dados que, quando executado em loop, pode ser dividido em seu nome e valor.Neste caso, seu nome é
$user
e seu valor é$pass
.fonte