ID: 14066
Comment by: php at pleaseletusknow dot com
Reported By: mfischer at guru dot josefine dot at
Status: Wont fix
Bug Type: Scripting Engine problem
Operating System: Any
PHP Version: 4.0CVS-2001-11-15
New Comment:
This error, in latest PHP versions, only occurs when your trying to
treat a plain variable as an array.
In most occasions you can get round this by adding in an isArray check
before you try to use the var as an array.
For example;
Problem:
if (isset($parameter['align'])) { echo 'moo'; } // error: Uninitialized
string offset
Solution:
if (!isarray($parameter)) { $parameter = array(); }
if (isset($parameter['align'])) { echo 'moo'; }
So your basically setting an empty array in place of an empty variable.
Previous Comments:
------------------------------------------------------------------------
[2003-04-25 11:07:59] [EMAIL PROTECTED]
Since we now have this 'wont fix' status, let's use it. :)
------------------------------------------------------------------------
[2002-03-03 17:47:39] [EMAIL PROTECTED]
It's an engine thing, and can really not be fixed. The accessing of the
{3} is done after the END_SILENCE op at the CONCAT op.
I'll mark it as suspended for now.
------------------------------------------------------------------------
[2002-03-03 17:35:33] [EMAIL PROTECTED]
I'm not satisfied with this answer :-)
Why does it work with arrays but not with strings (and, bert, yeah I
know they aren't the same).
Just because "it's strings here" doesn't legitimate that a warnings is
thrown. Using your suggestion is rather cumbersome.
Is it an implemention issue? Can it be solve to be less long winded?
"it is"
a bug imho :)
------------------------------------------------------------------------
[2002-03-03 17:35:31] [EMAIL PROTECTED]
I'm not satisfied with this answer :-)
Why does it work with arrays but not with strings (and, bert, yeah I
know they aren't the same).
Just because "it's strings here" doesn't legitimate that a warnings is
thrown. Using your suggestion is rather cumbersome.
Is it an implemention issue? Can it be solve to be less long winded?
"it is"
a bug imho :)
------------------------------------------------------------------------
[2002-03-03 17:28:03] [EMAIL PROTECTED]
It's not a bug, $foo{3}. "\n" is done before the @, so that displays
the error.
so I'm closing this, this works BTW:
$foo = "foo"; echo @($foo{3}. "\n");
Derick
------------------------------------------------------------------------
The remainder of the comments for this report are too long. To view
the rest of the comments, please view the bug report online at
http://bugs.php.net/14066
--
Edit this bug report at http://bugs.php.net/?id=14066&edit=1