# SYNOPSIS

Find the position of the first occurrence of a substring in a string

# DESCRIPTION

int function strpos(
    string $haystack,
    mixed $needle,
    int $offset = 0
)

Find the numeric position of the first occurrence of `$needle` in the `$haystack` string. 


# PARAMETERS

- `$haystack`
  The string to search in. 

- `$needle`
  If `$needle` is not a string, it is converted to an integer and applied as the ordinal value of a character. 

- `$offset`
  If specified, search will start this number of characters counted from the beginning of the string. Unlike [FUNCTION:strrpos] and [FUNCTION:strripos], the offset cannot be negative. 




# RETURNVALUES

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 [CONSTANT:FALSE] if the needle was not found. 
########## WARNING ########## 
This function may return Boolean [CONSTANT:FALSE], but may also return a non-Boolean value which evaluates to [CONSTANT:FALSE]. Please read the section on [Booleans][1] for more information. Use [the === operator][2] for testing the return value of this function.
########## WARNING ########## 


# EXAMPLES

## Using _===_

```php
<?php
$mystring = 'abc';
$findme   = 'a';
$pos = strpos($mystring, $findme);

// Note our use of ===.  Simply == would not work as expected
// because the position of 'a' was the 0th (first) character.
if ($pos === false) {
    echo "The string '$findme' was not found in the string '$mystring'";
} else {
    echo "The string '$findme' was found in the string '$mystring'";
    echo " and exists at position $pos";
}
?>
```

## Using !==

```php
<?php
$mystring = 'abc';
$findme   = 'a';
$pos = strpos($mystring, $findme);

// The !== operator can also be used.  Using != would not work as expected
// because the position of 'a' is 0. The statement (0 != false) evaluates 
// to false.
if ($pos !== false) {
     echo "The string '$findme' was found in the string '$mystring'";
         echo " and exists at position $pos";
} else {
     echo "The string '$findme' was not found in the string '$mystring'";
}
?>
```
## Using an offset

```php

<?php
// We can search for the character, ignoring anything before the offset
$newstring = 'abcdef abcdef';
$pos = strpos($newstring, 'a', 1); // $pos = 7, not 0
?>
```


# NOTES

########## NOTE ##########
This function is binary-safe.
########## NOTE ##########


# SEEALSO

- [FUNCTION:stripos]
- [FUNCTION:strrpos]
- [FUNCTION:strripos]
- [FUNCTION:strstr]
- [FUNCTION:strpbrk]
- [FUNCTION:substr]
- [FUNCTION:preg_match]




  [1]: language.types.boolean 
  [2]: language.operators.comparison