mb-strpos
mb_strpos
Find position of first occurrence of string in a string
ENTITY
int
false
mb_strpos
string
haystack
string
needle
int
offset
0
string
null
encoding
ENTITY
Finds position of the first occurrence of needle in the haystack string.
Performs a multi-byte safe strpos operation based on number of characters. The first character's position is 0, the second character position is 1, and so on.
ENTITY
haystack
The string from which to get the position of the first occurrence of needle.
needle
The string to find in haystack. In contrast with strpos, numeric values are not applied as the ordinal value of a character.
offset
The search offset in characters. If it is not specified, 0 is used. A negative offset counts from the end of the string.
encoding
ENTITY
ENTITY
Returns the character position (not byte position) of the first occurrence of needle in the haystack string, counting from 0. Returns ENTITY if needle is not found.
ENTITY
- If
offsetis greater than the length ofhaystack, aValueErrorwill be thrown.
ENTITY
ENTITY
| ENTITY | ENTITY |
|---|---|
| 7.1.0 | Support for negative offsets has been added. |
ENTITY
mb_strpos returns a character offset, not a byte offset
<?php
// "🐘" is 4 bytes but 1 character; "é" is 2 bytes but 1 character
$str = "🐘H🐘é";
var_dump(mb_strpos($str, "é")); // character 3, not byte 9
var_dump(mb_strpos($str, "🐘", 1)); // character 2, skipping the first "🐘"
?>
ENTITY
int(3)
int(2)
ENTITY
mb_strrpos, mb_stripos, mb_internal_encoding, strpos
谢谢你的反馈!