|
php.net | support | documentation | report a bug | advanced search | search howto | statistics | random bug | login |
[2007-04-26 01:38 UTC] lbayuk at pobox dot com
Description: ------------ If I index a scalar or NULL variable as if it were an array, I get NULL back with no warning or notice. This is true for any index value, including 0. I expected an Undefined offset or incorrect type message. The manual says an integer variable = n will convert to array(0=>$n); that works on casting to array but not on indexing. Reproduce code: --------------- <?php error_reporting(E_ALL+E_STRICT); $arry = array(1=>1); $notarry = NULL; $intvar = 123; echo "1. arry[1] = " . $arry[1] . "\n"; echo "2. arry[2] = " . $arry[2] . "\n"; echo "3. intvar[0] = " . $intvar[0] . "\n"; echo "4. intvar[1] = " . $intvar[1] . "\n"; echo "5. notarry[1] = " . $notarry[1] . "\n"; Expected result: ---------------- "Notice: Undefined offset" (or incorrect type) for (2), (3), (4), and (5). Or maybe (3) should echo "123" via implicit cast. But only (2) raises a Notice; the others just echo NULL. Actual result: -------------- 1. arry[1] = 1 Notice: Undefined offset: 2 in /a5/home/ljb/lang/php/p.php on line 7 2. arry[2] = 3. intvar[0] = 4. intvar[1] = 5. notarry[1] = PatchesPull RequestsHistoryAllCommentsChangesGit/SVN commits
|
|||||||||||||||||||||||||||
Copyright © 2001-2025 The PHP GroupAll rights reserved. |
Last updated: Tue Oct 28 08:00:01 2025 UTC |
This bug has been fixed in the documentation's XML sources. Since the online and downloadable versions of the documentation need some time to get updated, we would like to ask you to be a bit patient. Thank you for the report, and for helping us make our documentation better. "Accessing by [] or {} to variables of other type silently returns NULL."