[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)."<br>";
}

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’];

Um comentário em “[RESOLVIDO] Fatal error: Cannot use object of type stdClass as array in …

  • 4 de agosto de 2017 em 14:32
    Permalink

    Muito obrigado 😉

    Resposta

Deixe uma resposta

O seu endereço de e-mail não será publicado. Campos obrigatórios são marcados com *