Illegal offset type errors occur when you attempt to access an array index using an object or an array as the index key.
$x = new stdClass(); $arr = array(); echo $arr[$x]; //illegal offset type
$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.