Edit report at https://bugs.php.net/bug.php?id=77112&edit=1
ID: 77112
Updated by: requinix@php.net
Reported by: php at pawlowicz dot it
-Summary: tested on PHP <= 7.2.4
+Summary: Substr returns "" on string_length + 1 instead of
"false"
-Status: Closed
+Status: Not a bug
Type: Bug
-Package: PHP Language Specification
+Package: Strings related
Operating System: all
PHP Version: 7.2.11
Block user comment: N
Private report: N
Previous Comments:
------------------------------------------------------------------------
[2018-11-06 08:21:26] php at pawlowicz dot it
its not a bug, its a feature: http://php.net/manual/en/migration70.changed-functions.php#migration70.changed-functions.core
------------------------------------------------------------------------
[2018-11-06 07:29:41] php at pawlowicz dot it
php lower equal 7.2.4
------------------------------------------------------------------------
[2018-11-06 07:28:48] php at pawlowicz dot it
Description:
------------
Substr returns "" on string_length + 1 instead of "false"
Test script:
---------------
<?php
var_dump(substr("test", 3)); // "t" in PHP 5, "t" in PHP 7.*
var_dump(substr("test1", 4)); // "1" in PHP 5, "1" in PHP 7.*
// BUG START!!
var_dump(substr("test", 4)); // false in PHP 5, "" in PHP 7.*
var_dump(substr("test1", 5)); // false in PHP 5, "" in PHP 7.*
// BUG END
var_dump(substr("test", 5)); // false in PHP 5, false in PHP 7.*
var_dump(substr("test1", 6)); // false in PHP 5, false in PHP 7.*
Expected result:
----------------
var_dump(substr("test", 4)); // false
var_dump(substr("test1", 5)); // false
Actual result:
--------------
var_dump(substr("test", 4)); // "" in PHP 7.*
var_dump(substr("test1", 5)); // "" in PHP 7.*
------------------------------------------------------------------------
--
Edit this bug report at https://bugs.php.net/bug.php?id=77112&edit=1