serii81
@serii81
Я люблю phр...

Как найти все вхождения символа в строке в php?

/*Дана строка. Показать номера символов, совпадающих с последним символом строки.*/
$str = 'string for test';
$last = $str[strlen($str) - 1];// Последний символ
$new_str = '';// Результирующая строка

$pos = strpos($str, $last);// Позиция первого вхождения
$new_str .= $pos.' ';
if($pos !== false){
$new_pos = strpos($str, $last, $pos);
$new_str .= $new_pos.' ';
}
echo $new_str;

Эту задачу могу решить с помощью массивов или регулярных выражений, но хотелось бы потренироваться и на строковых функциях. Ну, что скажете, какие тут идеи?
Заранее благодарен.
  • Вопрос задан
  • 2695 просмотров
Решения вопроса 1
Stalker_RED
@Stalker_RED
$last = $str[strlen($str) - 1];
$pos = -1;
$result = [];

while(($pos = strpos($str, $last, $pos+1))!==false) {
    $result[] = $pos;
}

sandbox.onlinephpfunctions.com/code/12a7172aedb3b7...
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы