mb_strpos

FunctionParams and return types changed in PHP 8.0

Find position of first occurrence of string in a string.

PHP 5
PHP 7
PHP 8.0
Improved
PHP 8.1
PHP 8.2-8.3
PHP 8.4
PHP 8.5
PHP 8.6

mb_strpos Function synopsis

mb_strpos(
    string $haystack,
    string $needle,
    int $offset = 0,
    ?string $encoding = null
  ): int|false

Parameters

$haystack

Typestring

The string from which to get the position of the first occurrence of $needle.

$needle

Typestring

The string to find in $haystack. In contrast with strpos, numeric values are not applied as the ordinal value of a character.

$offset

OptionalTypeintDefault value0

The search offset. If it is not specified, 0 is used. A negative offset counts from the end of the string.

$encoding

OptionalType?stringDefault valuenull

Return value

Typeint|false

Returns the numeric position of the first occurrence of $needle in the $haystack string. If $needle is not found, it returns false.

Changes to the mb_strpos Function

PHP 8.0

  • Return type added: int|false
  • Parameter type added for parameter #1 ($haystack): string
  • Parameter type added for parameter #2 ($needle): string
  • Parameter type added for parameter #3 ($offset): int
  • Parameter default value added for position #3 ($offset): 0
  • Parameter type added for parameter #4 ($encoding): ?string
  • Parameter default value added for position #4 ($encoding): null
  mb_strpos(
-     $haystack,
+     string $haystack,
-     $needle,
+     string $needle,
-     $offset,
+     int $offset = 0,
-     $encoding
+     ?string $encoding = null
-   )
+   ): int|false

mb_strpos Function Availability

PHP VersionAvailability
PHP 8.6Upcoming Release Yes
PHP 8.5Supported (Latest) Yes
PHP 8.4Supported Yes
PHP 8.3Security-Fixes Only Yes
PHP 8.2Security-Fixes Only Yes
PHP 8.1Unsupported Yes
PHP 8.0Unsupported Yes
PHP 7.4Unsupported Yes
PHP 7.3Unsupported Yes
PHP 7.2Unsupported Yes
PHP 7.1Unsupported Yes
PHP 7.0Unsupported Yes
PHP 5.6Unsupported Yes
PHP 5.5Unsupported Yes
PHP 5.4Unsupported Yes
PHP 5.3Unsupported Yes