Doc #80738 [Com]: Document that mb_stripos() now accepts an empty needle
From: portal4me452 at gmail dot com Date: Tue, 24 Jan 2023 10:12:43 +0000 Subject: Doc #80738 [Com]: Document that mb_stripos() now accepts an empty needle References: 1 Groups: php.doc.bugs Request: Send a blank email to doc-bugs+get-19564@lists.php.net to get a copy of this message
Edit report at https://bugs.php.net/bug.php?id=80738&edit=1
ID: 80738
Comment by: portal4me452 at gmail dot com
Reported by: mikele890 at gmail dot com
Summary: Document that mb_stripos() now accepts an empty
needle
Status: Verified
Type: Documentation Problem
Package: mbstring related
Operating System: Linux
PHP Version: 8.0.2
Block user comment: N
Private report: N
New Comment:
mb_stripos() function in PHP, a multibyte safe version of stripos() function, now accepts an empty
needle. In PHP 8.1, if the needle is an empty string, the function will return 0 instead of false as
it was previously. This allows for easier search for the presence of an empty string within a
haystack and obtaining its position if found. This change is available in PHP 8.1 and above.
<https://www.portal4me.net/>github.com
Previous Comments:
------------------------------------------------------------------------
[2021-09-30 06:36:07] alec at alec dot pl
The fact that strpos("test", ""); returns int(0) is a mistake, imo.
This change is not mentioned in the migration guide too. And I'd like to hear what was a
reasoning behind this change.
------------------------------------------------------------------------
[2021-05-25 09:08:52] hallberg dot kim at gmail dot com
The following pull request has been associated:
Patch Name: [80738] WIP: Update MB string functions
On GitHub: https://github.com/php/doc-en/pull/630
Patch: https://github.com/php/doc-en/pull/630.patch
------------------------------------------------------------------------
[2021-02-15 13:32:30] domnulnopcea at gmail dot com
php 8.0.2
var_dump(mb_stripos("test", ""));
int(0)
php 7.4.13
var_dump(mb_stripos("test", ""));
<br />
<b>Warning</b>: mb_stripos(): Empty delimiter in <b>[...][...]</b> on line
<b>5</b><br />
bool(false)
so php 8 returns 0 and php 7 returns false
------------------------------------------------------------------------
[2021-02-12 14:42:35] rtrtrtrtrt at dfdfdfdf dot dfd
the old behavior was simply wrong
think logically: in most cases the second param is dynamic adn an empty string means "no
input" - how das it make sense to pretend that *nothing* is within everything?
------------------------------------------------------------------------
[2021-02-12 14:02:50] cmb@php.net
This is only documented in the migration guide[1] so far:
| The needle argument for mb_strpos(), mb_strrpos(), mb_stripos(),
| mb_strripos(), mb_strstr(), mb_stristr(), mb_strrchr() and
| mb_strrichr() can now be empty.
[1] <https://www.php.net/manual/en/migration80.incompatible.php>
------------------------------------------------------------------------
The remainder of the comments for this report are too long. To view
the rest of the comments, please view the bug report online at
https://bugs.php.net/bug.php?id=80738
--
Edit this bug report at https://bugs.php.net/bug.php?id=80738&edit=1
Thread (7 messages)
- Unknown Message
- Doc #80738 [Com]: mb_stipos function
- Doc #80738 [Com]: mb_stipos function
- Doc #80738 [PATCH]: Document that mb_stripos() now accepts an empty needle
- Doc #80738 [Com]: Document that mb_stripos() now accepts an empty needle
- Doc #80738 [Com]: Document that mb_stripos() now accepts an empty needle
- Doc #80738 [Com]: Document that mb_stripos() now accepts an empty needle
- Unknown Message
- Doc #80738 [Com]: mb_stipos function
- Doc #80738 [Com]: mb_stipos function
- Doc #80738 [PATCH]: Document that mb_stripos() now accepts an empty needle
- Doc #80738 [Com]: Document that mb_stripos() now accepts an empty needle
- Doc #80738 [Com]: Document that mb_stripos() now accepts an empty needle
- Doc #80738 [Com]: Document that mb_stripos() now accepts an empty needle
- Unknown Message
- Doc #80738 [Com]: mb_stipos function
- Doc #80738 [Com]: mb_stipos function
- Doc #80738 [PATCH]: Document that mb_stripos() now accepts an empty needle
- Doc #80738 [Com]: Document that mb_stripos() now accepts an empty needle
- Doc #80738 [Com]: Document that mb_stripos() now accepts an empty needle
- Doc #80738 [Com]: Document that mb_stripos() now accepts an empty needle
- Unknown Message
- Doc #80738 [Com]: mb_stipos function
- Doc #80738 [Com]: mb_stipos function
- Doc #80738 [PATCH]: Document that mb_stripos() now accepts an empty needle
- Doc #80738 [Com]: Document that mb_stripos() now accepts an empty needle
- Doc #80738 [Com]: Document that mb_stripos() now accepts an empty needle
- Doc #80738 [Com]: Document that mb_stripos() now accepts an empty needle
- Unknown Message
- Doc #80738 [Com]: mb_stipos function
- Doc #80738 [Com]: mb_stipos function
- Doc #80738 [PATCH]: Document that mb_stripos() now accepts an empty needle
- Doc #80738 [Com]: Document that mb_stripos() now accepts an empty needle
- Doc #80738 [Com]: Document that mb_stripos() now accepts an empty needle
- Doc #80738 [Com]: Document that mb_stripos() now accepts an empty needle
- Unknown Message
- Doc #80738 [Com]: mb_stipos function
- Doc #80738 [Com]: mb_stipos function
- Doc #80738 [PATCH]: Document that mb_stripos() now accepts an empty needle
- Doc #80738 [Com]: Document that mb_stripos() now accepts an empty needle
- Doc #80738 [Com]: Document that mb_stripos() now accepts an empty needle
- Doc #80738 [Com]: Document that mb_stripos() now accepts an empty needle
- Unknown Message
- Doc #80738 [Com]: mb_stipos function
- Doc #80738 [Com]: mb_stipos function
- Doc #80738 [PATCH]: Document that mb_stripos() now accepts an empty needle
- Doc #80738 [Com]: Document that mb_stripos() now accepts an empty needle
- Doc #80738 [Com]: Document that mb_stripos() now accepts an empty needle
- Doc #80738 [Com]: Document that mb_stripos() now accepts an empty needle
| « previous | php.doc.bugs (#19564) | next » |
|---|