How to find position of a character in a string in PHP

phpdeveloper picture phpdeveloper · Aug 16, 2011 · Viewed 18.7k times · Source

How to find positions of a character in a string or sentence in php

$char   = 'i';
$string = 'elvis williams';
$result = '3rd ,7th and 10th'.

I tried strpos..but no use..

Answer

Arnaud Le Blanc picture Arnaud Le Blanc · Aug 16, 2011

This will give you the position of $char in $string:

$pos = strpos($string, $char);

If you want the position of all occurences of $char in string:

$positions = array();
$pos = -1;
while (($pos = strpos($string, $char, $pos+1)) !== false) {
    $positions[] = $pos;
}

$result = implode(', ', $positions);

print_r($result);

Test it here: http://codepad.viper-7.com/yssEK3