strpos

FunctionParams and return types changed in PHP 8.0

Find the position of the first occurrence of a substring 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

strpos Function synopsis

strpos(
    string $haystack,
    string $needle,
    int $offset = 0
  ): int|false

Parameters

$haystack

Typestring

The string to search in.

$needle

Typestring

The string to search for.

$offset

OptionalTypeintDefault value0

If specified, search will start this number of characters counted from the beginning of the string. If the offset is negative, the search will start this number of characters counted from the end of the string.

Return value

Typeint|false

Returns the position of where the needle exists relative to the beginning of the $haystack string (independent of $offset). Also note that string positions start at 0, and not 1.

Returns false if the needle was not found.

Changes to the 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
  strpos(
-     $haystack,
+     string $haystack,
-     $needle,
+     string $needle,
-     $offset
+     int $offset = 0
-   )
+   ): int|false

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