1
0
mirror of https://github.com/php/php-src.git synced 2026-03-24 16:22:37 +01:00
Files
archived-php-src/Zend/tests/numeric_strings/array_offset.phpt
George Peter Banyard b2248789ed Implement 'Saner Numeric Strings' RFC:
RFC: https://wiki.php.net/rfc/saner-numeric-strings

This removes the -1 allow_error mode from is_numeric_string functions and replaces it by
a trailing boolean out argument to preserve BC in a couple of places.

Most of the changes can be resumed to "numeric" strings which emitted a E_NOTICE now emit
a E_WARNING and "numeric" strings which emitted a E_WARNING now throw a TypeError.

This mostly affects:
 - String offsets
 - Arithmetic operations
 - Bitwise operations

Closes GH-5762
2020-07-29 02:51:09 +01:00

87 lines
1.7 KiB
PHP

--TEST--
Using different sorts of numerical strings as an array offset
--FILE--
<?php
$arr = [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15];
var_dump($arr["7"]);
var_dump($arr["7.5"]);
var_dump($arr[" 7"]);
var_dump($arr[" 7.5"]);
var_dump($arr[" 7 "]);
var_dump($arr[" 7.5 "]);
var_dump($arr["7 "]);
var_dump($arr["7.5 "]);
var_dump($arr["7str"]);
var_dump($arr["7.5str"]);
var_dump($arr[" 7str"]);
var_dump($arr[" 7.5str"]);
var_dump($arr[" 7 str"]);
var_dump($arr[" 7.5 str"]);
var_dump($arr["7 str"]);
var_dump($arr["7.5 str"]);
var_dump($arr["0xA"]);
var_dump($arr["0b10"]);
var_dump($arr["07"]);
echo "Done\n";
?>
--EXPECTF--
int(7)
Notice: Undefined array key "7.5" in %s on line 6
NULL
Notice: Undefined array key " 7" in %s on line 7
NULL
Notice: Undefined array key " 7.5" in %s on line 8
NULL
Notice: Undefined array key " 7 " in %s on line 9
NULL
Notice: Undefined array key " 7.5 " in %s on line 10
NULL
Notice: Undefined array key "7 " in %s on line 11
NULL
Notice: Undefined array key "7.5 " in %s on line 12
NULL
Notice: Undefined array key "7str" in %s on line 13
NULL
Notice: Undefined array key "7.5str" in %s on line 14
NULL
Notice: Undefined array key " 7str" in %s on line 15
NULL
Notice: Undefined array key " 7.5str" in %s on line 16
NULL
Notice: Undefined array key " 7 str" in %s on line 17
NULL
Notice: Undefined array key " 7.5 str" in %s on line 18
NULL
Notice: Undefined array key "7 str" in %s on line 19
NULL
Notice: Undefined array key "7.5 str" in %s on line 20
NULL
Notice: Undefined array key "0xA" in %s on line 21
NULL
Notice: Undefined array key "0b10" in %s on line 22
NULL
Notice: Undefined array key "07" in %s on line 23
NULL
Done