Skip to content

mb_substr returns a different value in PHP 8.4 #12972

Closed
@MauricioFauth

Description

@MauricioFauth

Description

The following code:

<?php
var_dump(bin2hex(mb_substr(hex2bin("8964"), 0, 1)));
var_dump(mb_substr('Lorem ipsum dolor sit amet, consectetur adipiscing elit. Vestibulum dapibus feugiat ex non cursus. Pellentesque vestibulum tellus sit lectus.', 19, -1));

Resulted in this output:

string(2) "3f"
string(109) "it amet, consectetur adipiscing elit. Vestibulum dapibus feugiat ex non cursus. Pellentesque vestibulum tellu"

But I expected this output instead:

string(2) "89"
string(121) "it amet, consectetur adipiscing elit. Vestibulum dapibus feugiat ex non cursus. Pellentesque vestibulum tellus sit lectus"

https://3v4l.org/KZrMo
https://3v4l.org/KZrMo/rfc#vgit.master

https://3v4l.org/B0sf5
https://3v4l.org/B0sf5/rfc#vgit.master

PHP Version

PHP 8.4 cffdeb8 (This is the commit I tested, not necessarily the one that introduced the issue.)

Operating System

Debian Trixie

Metadata

Metadata

Assignees

No one assigned

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions