Alex Rivera | Logout

How do I fix an 'illegal offset type' error?

Asked 2010-04-28T19:15:25.050
119

I'm getting

illegal offset type

error for every iteration of this code. Here's the code :

$s = array();
for ($i = 0; $i < 20; $i++)
{
    $source = $xml->entry[$i]->source;
    $s[$source] += 1;    
}

print_r($s);
Edit
Report

1 Answer

195

Illegal offset type errors occur when you attempt to access an array index using an object or an array as the index key.

Example:

$x = new stdClass();
$arr = array();
echo $arr[$x];
//illegal offset type

Your $xml array contains an object or array at $xml->entry[$i]->source for some value of $i, and when you try to use that as an index key for $s, you get that warning. You'll have to make sure $xml contains what you want it to and that you're accessing it correctly.

answered 2010-04-28T19:22:14.770

Your Answer