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
