PHP – Fatal error: Cannot use string offset as an array in…

Send Us a Sign! (Contact Us!)
--> (Word) --> (PDF) --> (Epub) --> (Text)
--> (XML) --> (OpenOffice) --> (XPS)

PHP5 Error message that is caused by attempting to assign a value to an array element of a variable that is declared as a string.

Example that generates error:

$foo='bar';
$foo[0]='bar';

Get error message Fatal error: Cannot use string offset as an array in ...

Explanation:

$foo was declared as a string in $foo='bar'.

$foo[0] is trying to append an element onto a string variable.

Example that does not generate error:

$foo[0]='bar';
$foo='bar';

Does NOT generate error.

Explanation:

$foo[0]='bar' instantiates variable $foo as array since it has not been instantiated. Then assigns 'bar' to element $foo[0].

$foo='bar' implicitly re-declares $foo as a string and assigns 'bar' to it.

Example that does not generate error:

$foo='bar';
$foo=array();
$foo[0]='bar';

Explanation:

$foo='bar' implicitly declares $foo as a string [gs variable] then assigns 'bar' as the value.

$foo=array() explicitly re-declares $foo as an [gs array].

$foo[0]='bar' can now be executed as $foo is declared as an array.

SOURCE

LINK (Informationideas.com)

LANGUAGE
ENGLISH