The error Illegal string offset 'whatever' in...
generally means: you're trying to use a string as a full array.
That is actually possible since strings are able to be treated as arrays of single characters in php. So you're thinking the $var is an array with a key, but it's just a string with standard numeric keys, for example:
$fruit_counts = array('apples'=>2, 'oranges'=>5, 'pears'=>0);
echo $fruit_counts['oranges']; // echoes 5
$fruit_counts = "an unexpected string assignment";
echo $fruit_counts['oranges']; // causes illegal string offset error
You can see this in action here:
http://ideone.com/fMhmkR
For those who come to this question trying to translate the vagueness of the error into something to do about it, as I was.
与恶龙缠斗过久,自身亦成为恶龙;凝视深渊过久,深渊将回以凝视…