Cannot use object as array PHP Origin: Application & API Last updated 14 Oct 2026

Fatal error: Uncaught Error: Cannot use object of type stdClass as array

Code used array syntax ($x['key']) on an object.

Exact message you may see Cannot use object of type stdClass as arrayCannot use object of type
Seen on: PHP

Meaning

json_decode returns objects by default (stdClass), so $data['name'] fails. Pass true to get arrays, or use object syntax $data->name.

Common causes

  • json_decode without the associative flag
  • API client returning objects
  • Mixing arrays and objects in the same codebase

⚡ Quick fix

  1. json_decode($json, true) for arrays
  2. Or access properties with ->
  3. Cast with (array) $obj for simple objects

Detailed fix by platform

PHP

  1. $data = json_decode($body, true, 512, JSON_THROW_ON_ERROR); echo $data['name'];

How to diagnose

  1. Type — var_dump() — object or array?
  2. Source — Where was it created?

🔧 Still not fixed?

Many errors look alike. If the steps above didn’t solve it, one of these is probably what you’re facing:

Where this error sits

Origin: Application & API. Errors that are often confused with or caused by this one (click to open):

Allowed memory size exhausted — PHP Fatal error: Allowed memory size of X bytes exhausted (PHP)Allowed memory size e…ArgumentCountError — Fatal error: Uncaught ArgumentCountError: Too few arguments to function foo(), 1 passed and exactly 2 expected (PHP)ArgumentCountErrorArray to string conversion — Warning: Array to string conversion (PHP)Array to string conve…Call to member function on null — Fatal error: Uncaught Error: Call to a member function x() on null (PHP)Call to member functi…Call to undefined function — PHP Fatal error: Uncaught Error: Call to undefined function (PHP)Call to undefined fun…Call to undefined function (WordPress) — WordPress: Fatal error: Uncaught Error: Call to undefined function wp_get_current_user() / add_action() / get_header() (WordPress)Call to undefined fun…Cannot convert value of type — Swift: Cannot convert value of type 'X' to expected argument type 'Y' (iOS)Cannot convert value …Cannot redeclare — Fatal error: Cannot redeclare function foo() (previously declared in …) (PHP)Cannot redeclareCannot us…

Explore the map of this error Full error map →

🧠 Still stuck? Analyze your error

Paste the full message, response headers or stack trace — we'll detect the platform and point to the most likely cause.

💬 What worked for others

No tips yet — did something else fix this for you?

Share what worked for you

Tips are checked by an editor before they appear. Links are removed.