[wp-trac] [WordPress Trac] #58012: Replace usage of strpos with str_starts_with
WordPress Trac
noreply at wordpress.org
Tue May 2 15:43:18 UTC 2023
#58012: Replace usage of strpos with str_starts_with
---------------------------------------------+-----------------------------
Reporter: spacedmonkey | Owner: SergeyBiryukov
Type: enhancement | Status: closed
Priority: normal | Milestone: 6.3
Component: General | Version:
Severity: normal | Resolution: fixed
Keywords: good-first-bug has-patch commit | Focuses:
---------------------------------------------+-----------------------------
Changes (by SergeyBiryukov):
* status: assigned => closed
* resolution: => fixed
Comment:
In [changeset:"55703" 55703]:
{{{
#!CommitTicketReference repository="" revision="55703"
Code Modernization: Replace usage of `strpos()` with `str_starts_with()`.
`str_starts_with()` was introduced in PHP 8.0 to perform a case-sensitive
check indicating if the string to search in (haystack) begins with the
given substring (needle).
WordPress core includes a polyfill for `str_starts_with()` on PHP < 8.0 as
of WordPress 5.9.
This commit replaces `0 === strpos( ... )` with `str_starts_with()` in
core files, making the code more readable and consistent, as well as
improving performance.
While `strpos()` is slightly faster than the polyfill on PHP < 8.0,
`str_starts_with()` is noticeably faster on PHP 8.0+, as it is optimized
to avoid unnecessarily searching along the whole haystack if it does not
find the needle.
Follow-up to [52039], [52040], [52326].
Props spacedmonkey, costdev, sabernhardt, mukesh27, desrosj, jorbin,
TobiasBg, ayeshrajans, lgadzhev, SergeyBiryukov.
Fixes #58012.
}}}
--
Ticket URL: <https://core.trac.wordpress.org/ticket/58012#comment:22>
WordPress Trac <https://core.trac.wordpress.org/>
WordPress publishing platform
More information about the wp-trac
mailing list