Como iterar sobre um objeto PHP com chaves dinâmicas (nomes de propriedades)
Olá a todos. Sou novo em PHP e encontrei um problema ao trabalhar com dados JSON. Após decodificar o JSON com `json_decode()`, recebo um objeto stdClass cujas propriedades (chaves) são desconhecidas antecipadamente. Por exemplo, recebo dados de produtos de uma API externa, e os nomes dos campos podem variar (preço, quantidade, descrição — mas a composição exata dos campos é desconhecida). Preciso percorrer todas as propriedades desse objeto e exibi-las na tela.
Aqui está um exemplo de código que não funciona:
```php
$json = '{"item1": {"name": "Produto A", "price": 150}, "item2": {"name": "Produto B", "price": 250}}';
$data = json_decode($json);
// Tentando iterar como array — erro
foreach ($data as $key => $value) {
echo $key . ': ' . $value . '
'; } ``` Este código gera o erro: "Invalid argument supplied for foreach()". Entendo que `$data` é um objeto, não um array. Mas como então percorrer todas as suas propriedades, se não sei seus nomes? Tentei usar `$data->$key` — também não funcionou.
'; } ``` Este código gera o erro: "Invalid argument supplied for foreach()". Entendo que `$data` é um objeto, não um array. Mas como então percorrer todas as suas propriedades, se não sei seus nomes? Tentei usar `$data->$key` — também não funcionou.
No answers yet.
Faça login para deixar uma resposta
Blogs
Implantação de aplicação C++ em VPS: guia passo a passo do início ao fim
Como verificar se um checkbox está selecionado em jQuery: guia completo com exemplos
Rust para Big Data: Processando milhões de linhas mais rápido que Python
Servidor de rede em Go: do TCP ao HTTP em uma noite