Edit report at http://bugs.php.net/bug.php?id=53432&edit=1

 ID:                 53432
 Updated by:         j...@php.net
 Reported by:        phplists at stanvassilev dot com
 Summary:            Assignment via string index access on an empty
                     string converts to array
-Status:             Open
+Status:             Verified
 Type:               Bug
-Package:            Unknown/Other Function
+Package:            Scripting Engine problem
-Operating System:   All
+Operating System:   *
-PHP Version:        5.2.14
+PHP Version:        5.*
 Block user comment: N
 Private report:     N



Previous Comments:
------------------------------------------------------------------------
[2010-12-01 04:33:28] phplists at stanvassilev dot com

I want to note, I realize when the variable is undefined, null, false,
array is 

the expected end result, but a string is already signifying explicitly
the intent 

of the programmer.



While PHP is a language with loose typing, it's not as loose as to
convert scalars 

to arrays and back, despite a set value.

------------------------------------------------------------------------
[2010-12-01 04:19:40] phplists at stanvassilev dot com

Description:
------------
The title/code says it all. Once a variable is a string, using array
access should 

mean char access, but this is not maintained for empty strings, while
it's 

maintained for non-empty strings.

Test script:
---------------
$a = ''; // empty string

$a[10] = 'a';

echo $a; // "Array"



$b = ' '; // non empty string

$b[10] = 'b';

echo $b; // "          b"

Expected result:
----------------
"          a"

"          b"

Actual result:
--------------
"Array"

"          b"


------------------------------------------------------------------------



-- 
Edit this bug report at http://bugs.php.net/bug.php?id=53432&edit=1

Reply via email to