php-src/Zend/tests/offset_long.phpt
Nikita Popov c42b7dd6d3 Throw notice on array access on illegal type
No notice is thrown for list() accesses, because we did not come
to an agreement regarding patterns like

    while ([$key, $value] = yield $it->next()) { ... }

where silent null access may be desirable.

No effort is made to suppress multiple notices in access chains
likes $x[0][0][0], because the technical complexity this causes
does not seem worthwhile.

RFC: https://wiki.php.net/rfc/notice-for-non-valid-array-container
2019-07-10 12:02:14 +02:00

55 lines
1.1 KiB
PHP

--TEST--
using different variables to access long offsets
--FILE--
<?php
$long = 1;
var_dump($long[1]);
var_dump($long[0.0836]);
var_dump($long[NULL]);
var_dump($long["run away"]);
var_dump($long[TRUE]);
var_dump($long[FALSE]);
$fp = fopen(__FILE__, "r");
var_dump($long[$fp]);
$obj = new stdClass;
var_dump($long[$obj]);
$arr = Array(1,2,3);
var_dump($long[$arr]);
echo "Done\n";
?>
--EXPECTF--
Notice: Trying to access array offset on value of type int in %s on line %d
NULL
Notice: Trying to access array offset on value of type int in %s on line %d
NULL
Notice: Trying to access array offset on value of type int in %s on line %d
NULL
Notice: Trying to access array offset on value of type int in %s on line %d
NULL
Notice: Trying to access array offset on value of type int in %s on line %d
NULL
Notice: Trying to access array offset on value of type int in %s on line %d
NULL
Notice: Trying to access array offset on value of type int in %s on line %d
NULL
Notice: Trying to access array offset on value of type int in %s on line %d
NULL
Notice: Trying to access array offset on value of type int in %s on line %d
NULL
Done