Ícone do site Linha de Comando

[RESOLVIDO] Fatal error: Cannot use object of type stdClass as array in …

Veja neste post como resolver este erro.

Este erro ocorre quando você está usando um objeto ao invés de um array. Por padrão a função json_decode() retorna um objeto.

Exemplo com o erro:

$array = json_decode($_POST['conteudos']);
$count = count($array);

for ($i = 0; $i < $count; $i++) {
   $quantidade = $array[$i]['quantidade'];
   echo ($quantidade)."
"; }

Soluções:

1. mude json_decode($_POST[‘conteudos’]) para json_decode($_POST[‘conteudos’], true);
colocando o parâmetro true, os objetos serão convertidos em array

2. use CAST
$array = (array) json_decode(conteudos);

3. como objeto:
$array = json_decode($_POST[‘conteudos’]);



$quantidade = $array[$i]->quantidade;

4. função get_object_vars
$array = json_decode($_POST[‘conteudos’]);



$conteudo = get_object_vars($array[$i]);
$quantidade = $conteudo[‘quantidade’];

Sair da versão mobile