Acessando Valores por Chave
Parte da seção Fundamentos do Journey de PHP da Coddy. Lição 42 de 71.
Agora que você entende o que são arrays associativos, vamos aprender a recuperar valores deles. Assim como os arrays indexados usam posições numéricas, os arrays associativos usam chaves dentro de colchetes.
<?php
$person = [
"name" => "Alice",
"age" => 25,
"city" => "Paris"
];
echo $person["name"]; // Alice
echo $person["age"]; // 25
?>A sintaxe é $array["key"]: coloque a chave como uma string dentro dos colchetes, e o PHP retornará o valor associado. Isso é muito mais legível do que lembrar que o nome está no índice 0.
Você também pode armazenar o valor recuperado em uma variável para uso posterior:
<?php
$product = [
"title" => "Laptop",
"price" => 999
];
$itemName = $product["title"];
echo $itemName; // Laptop
?>A chave deve corresponder exatamente, incluindo o uso de maiúsculas e minúsculas. Usar "Name" em vez de "name" causaria um erro, pois o PHP trata essas chaves como diferentes.
Às vezes, os dados chegam como uma string JSON, em vez de um literal de array PHP. JSON (JavaScript Object Notation) é um formato de texto comum para representar dados estruturados. Por exemplo:
$json = '{"title": "Dune", "author": "Frank Herbert", "year": 1965}';A função integrada json_decode() do PHP converte uma string JSON em um valor PHP. Para obter um array associativo, passe true como segundo argumento:
<?php
$json = '{"title": "Dune", "author": "Frank Herbert", "year": 1965}';
$book = json_decode($json, true);
echo $book["title"]; // Dune
echo $book["author"]; // Frank Herbert
echo $book["year"]; // 1965
?>Depois de chamar json_decode($json, true), o resultado é um array associativo comum, e você pode acessar seus valores exatamente da mesma maneira que em qualquer outro array associativo: usando $array["key"].
Desafio
FácilLeia uma linha de entrada contendo um objeto JSON que representa as informações de um livro (por exemplo, {"title": "The Great Gatsby", "author": "F. Scott Fitzgerald", "year": 1925}).
Em seguida, leia mais duas entradas:
- Uma string
key1representando a primeira chave a ser acessada - Uma string
key2representando a segunda chave a ser acessada
Para converter a string JSON em um array associativo, use a função integrada json_decode() com true como segundo argumento:
$array = json_decode($jsonString, true);
O segundo argumento true informa ao PHP para retornar um array associativo em vez de um objeto. Depois de decodificados, os valores podem ser acessados por chave, assim como em qualquer array associativo, por exemplo, $array["title"].
Crie um array associativo a partir da entrada JSON e, em seguida:
- Acesse e imprima o valor associado a
key1 - Armazene o valor associado a
key2em uma variável chamada$info - Imprima o valor armazenado em
$info
Imprima cada resultado em uma linha separada.
Exemplo:
Se as entradas forem {"title": "The Great Gatsby", "author": "F. Scott Fitzgerald", "year": 1925}, title e author, a saída deverá ser:
The Great Gatsby
F. Scott FitzgeraldSe as entradas forem {"name": "Laptop", "brand": "TechCo", "price": 999}, brand e price, a saída deverá ser:
TechCo
999Experimente você mesmo
<?php
// Ler a entrada JSON
$jsonInput = trim(fgets(STDIN));
// Ler as duas chaves
$key1 = trim(fgets(STDIN));
$key2 = trim(fgets(STDIN));
// TODO: Escreva seu código abaixo
// 1. Crie um array associativo a partir da entrada JSON usando json_decode
// 2. Acesse e imprima o valor associado a $key1
// 3. Armazene o valor associado a $key2 em uma variável chamada $info
// 4. Imprima o valor armazenado em $info
?>Esta lição inclui um quiz rápido. Comece a lição para respondê-lo e acompanhar seu progresso.
Todas as lições de Fundamentos
4Operadores de Comparação e Lógicos
Operadores de ComparaçãoIgualdade e IdentidadeOperadores Lógicos - Parte 1Operadores Lógicos - Parte 2Revisão - Lógica Simples7Arrays Parte 2 - Associativos
Introdução a Arrays AssociativosAcessando Valores por ChaveModificando Valores por ChaveAdicionando Novos Pares Chave-ValorVerificando se a Chave ExisteRecapitulação - Armazenamento de Dados Chave-Valor2Variáveis e Tipos de Dados
NúmerosStrings e AspasBooleanosConvenções de NomenclaturaRevisão - Inicialização de VariáveisVariáveis VaziasConcatenação de StringsObtendo Entrada do UsuárioConversão para Diferentes Tipos5Lógica Condicional
Instrução IfIf - ElseO Operador TernárioOperador de Coalescência NulaInstrução SwitchRecapitulação - Tomando Decisões3Operadores Básicos
Operadores AritméticosOperador MóduloOperador de ExponenciaçãoAtribuição CombinadaIncremento/DecrementoPrecedência de OperadoresRevisão - Cálculos SimplesOperadores de StringPratique por conta própria: Compilador de PHP online