ID:               28503
 Updated by:       [EMAIL PROTECTED]
 Reported By:      tomas dot matousek at matfyz dot cz
-Status:           Open
+Status:           Analyzed
 Bug Type:         Scripting Engine problem
 Operating System: WinXP
 PHP Version:      5.0.0RC2
 New Comment:

I agree it's inconsistent, as it happens though it's being discussed
already because of a related (but not identical) bug report:
http://bugs.php.net/28476


Previous Comments:
------------------------------------------------------------------------

[2004-05-24 11:21:26] tomas dot matousek at matfyz dot cz

Sorry te "Actual result" should be reversed:

Warning:  Cannot use a scalar value as an array ...
array(1) {
  [10]=>
  int(1)
}

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

[2004-05-24 11:18:46] tomas dot matousek at matfyz dot cz

Description:
------------
Why does operator [] create a new array when applied on boolean FALSE
and doesn't do so  when applied on integer 0? One of that is IMHO
wrong. Either this operator should create a new array on everything
that is empty() or it should fail on all scalar types and make a new
array only from empty string "" or NULL or uninitialized variable.


Reproduce code:
---------------
$a = 0;
$a[10] = 1;
var_dump($a);

$b = false;
$b[10] = 1;
var_dump($b);


Expected result:
----------------
Warning:  Cannot use a scalar value as an array ...
Warning:  Cannot use a scalar value as an array ...


Actual result:
--------------
array(1) {
  [10]=>
  int(1)
}

Warning:  Cannot use a scalar value as an array ...



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


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

Reply via email to