strpos
En esta página
strpos
Busca la posición de la primera ocurrencia en un string
Descripción#
strpos(string $haystack, string $needle, [int $offset]): int
```php
Busca la posición numérica de la primera ocurrencia de `needle` en el `string` `haystack`.
## Parámetros
`haystack`
El string en el que se debe buscar.
`needle`
El string a buscar.
Anterior a PHP 8.0.0, si `needle` no es una cadena de caracteres, se convierte en un entero y se aplica como valor ordinal de un carácter. Este comportamiento está obsoleto a partir de PHP 7.3.0, y confiar en él está fuertemente desaconsejado. Dependiendo del comportamiento esperado, `needle` debe ser explícitamente convertido a una cadena de caracteres, o debe realizarse una llamada explícita a `chr`.
`offset`
Si se especifica, la búsqueda comenzará a partir de este número de caracteres contados desde el inicio del string. Si este número es negativo, la búsqueda comenzará utilizando este número de caracteres pero comenzando desde el final del string.
## Valores devueltos
Devuelve la posición numérica de la ocurrencia en relación con el inicio del string `haystack` (independientemente del `offset`). Nótese también que la posición en el string comienza en `0`, y no en `1`.
Devuelve `false` si la ocurrencia no ha sido encontrada.
> [!WARNING]
> Esta función puede retornar `false`, pero también puede retornar un valor equivalente a `false`. Por favor, lea la sección sobre los [booleanos](#language.types.boolean) para más información. Utilice el [operador ===](#language.operators.comparison) para probar el valor de retorno exacto de esta función.
## Errores/Excepciones
- Si `offset` es mayor que la longitud de `haystack`, se lanzará un `ValueError`.
## Historial de cambios
| Versión | Descripción |
|----|----|
| 8.0.0 | `needle` acepta ahora una cadena vacía. |
| 8.0.0 | Pasar un `int` como `needle` ya no está soportado. |
| 7.3.0 | Pasar un `int` como `before_needle` ha sido declarado obsoleto. |
| 7.1.0 | Se ha añadido soporte para números negativos en el parámetro `offset`. |
## Ejemplos
Con `===`
Con !==
Utilizar un offset
```php
Notas#
[!NOTE] Esta función es segura para sistemas binarios.
Véase también#
stripos, str_contains, str_ends_with, str_starts_with, strrpos, strripos, strstr, strpbrk, substr, preg_match