php.net |  support |  documentation |  report a bug |  advanced search |  search howto |  statistics |  random bug |  login
Bug #77112 Substr returns "" on string_length + 1 instead of "false"
Submitted: 2018-11-06 07:28 UTC Modified: 2018-11-06 16:53 UTC
From: php at pawlowicz dot it Assigned:
Status: Not a bug Package: Strings related
PHP Version: 7.2.11 OS: all
Private report: No CVE-ID: None
Welcome back! If you're the original bug submitter, here's where you can edit the bug or add additional notes.
If you forgot your password, you can retrieve your password here.
Password:
Status:
Package:
Bug Type:
Summary:
From: php at pawlowicz dot it
New email:
PHP Version: OS:

 

 [2018-11-06 07:28 UTC] 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.*

Patches

Pull Requests

History

AllCommentsChangesGit/SVN commitsRelated reports
 [2018-11-06 07:29 UTC] php at pawlowicz dot it
-Summary: tested on PHP >= 7.2.4 +Summary: tested on PHP <= 7.2.4
 [2018-11-06 07:29 UTC] php at pawlowicz dot it
php lower equal 7.2.4
 [2018-11-06 08:21 UTC] php at pawlowicz dot it
-Status: Open +Status: Closed
 [2018-11-06 08:21 UTC] 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 16:53 UTC] requinix@php.net
-Summary: tested on PHP <= 7.2.4 +Summary: Substr returns "" on string_length + 1 instead of "false" -Status: Closed +Status: Not a bug -Package: PHP Language Specification +Package: Strings related
 
PHP Copyright © 2001-2024 The PHP Group
All rights reserved.
Last updated: Sun Dec 22 02:01:28 2024 UTC