Il valore è un oggetto stdClass ma il codice lo usa come array. Allinea l’accesso al formato restituito dalla sorgente.
Indice dei contenuti
PHP Cannot use object of type stdClass as array: significato
Le prime ipotesi da verificare per “PHP Cannot use object of type stdClass as array” sono json_decode chiamato senza associative true; risultato wpdb restituito come OBJECT.

Sintomi e cause probabili
Sintomi da verificare
- Il messaggio “PHP Cannot use object of type stdClass as array” compare durante un’operazione ripetibile.
- La funzione coinvolta in PHP non raggiunge il risultato previsto.
- Il log dell’area PHP registra un evento nello stesso minuto della prova.
- Il comportamento osservato in PHP cambia in base a utente, rete, file o configurazione.
Cause probabili
- json_decode chiamato senza associative true
- Risultato wpdb restituito come OBJECT
- API che cambia forma della risposta
- Codice che mescola array e oggetti
Diagnosi passo per passo
- Verificare il tipo con is_object e is_array
- Controllare modalità di json_decode o wpdb
- Seguire il valore nello stack trace
- Confrontare risposta reale e documentazione
- Testare il caso vuoto e quello completo
Log e dati da controllare
- PHP error_log
- WordPress debug.log se applicabile
- versione, estensioni e configurazione PHP
Correzioni sicure
- Controlla le opzioni di json_decode o il formato richiesto a wpdb.
- Usa le proprietà dell’oggetto oppure richiedi un array se è ciò che l’applicazione si aspetta.
- Verifica anche gli elementi annidati: una conversione superficiale non trasforma tutta la struttura.
- Prova risposte complete, vuote e con proprietà opzionali senza cambiare il significato dei dati.

Verifica finale
- Oggetti e array, anche annidati, vengono letti nel formato previsto.
- Confronta il risultato con la prova iniziale e conserva gli eventuali errori rimasti.
Errori da evitare
- Non disattivare globalmente WAF, ModSecurity, antispam o verifica TLS per aggirare il sintomo
- Non impostare permessi 777 e non cambiare proprietari in modo ricorsivo senza conoscere la struttura dell’account
- Non cancellare database, chiavi Redis, cache o file di sistema senza backup e senza aver identificato l’oggetto coinvolto
- Non ripetere pagamenti, import o webhook reali finché non hai verificato l’idempotenza
Guide Xlogic correlate
- PHP Fatal error: Cannot use object of type as array
- PHP json_decode Syntax error: JSON non valido
- PHP Trying to access array offset on value of type null
Fonti tecniche
Domande frequenti
Che cosa significa “PHP Cannot use object of type stdClass as array”?
Il valore è un oggetto stdClass ma il codice lo usa come array. Allinea l’accesso al formato restituito dalla sorgente.
Da cosa può dipendere “PHP Cannot use object of type stdClass as array”?
Le cause da verificare per “PHP Cannot use object of type stdClass as array” sono: json_decode chiamato senza associative true; risultato wpdb restituito come OBJECT; API che cambia forma della risposta.
Quali controlli eseguire per “PHP Cannot use object of type stdClass as array”?
Controlla le opzioni di json_decode o il formato richiesto a wpdb. Usa le proprietà dell’oggetto oppure richiedi un array se è ciò che l’applicazione si aspetta. Verifica anche gli elementi annidati: una conversione superficiale non trasforma tutta la struttura. Prova risposte complete, vuote e con proprietà opzionali senza cambiare il significato dei dati.