In breve: PHP Cannot use object of type stdClass as array — indica che il codice usa la sintassi delle parentesi quadre su un oggetto stdClass invece di accedere alle sue proprietà.
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
- Usare accesso a proprietà per gli oggetti
- Richiedere esplicitamente un array quando necessario
- Normalizzare il dato in un solo punto
- Aggiornare il codice dopo variazioni dell’API
- Non convertire ricorsivamente senza valutarne gli effetti

Verifica finale
- La stessa chiamata termina senza warning o fatal error
- Lo stack trace non ricompare
- Frontend e processi in background funzionano
- La correzione resta compatibile con la versione PHP in uso
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”?
PHP Cannot use object of type stdClass as array — indica che il codice usa la sintassi delle parentesi quadre su un oggetto stdClass invece di accedere alle sue proprietà.
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”?
Per diagnosticare “PHP Cannot use object of type stdClass as array”, controlla nell’ordine: verificare il tipo con is_object e is_array; controllare modalità di json_decode o wpdb; seguire il valore nello stack trace. La soluzione è confermata quando la stessa chiamata termina senza warning o fatal error; lo stack trace non ricompare.