Javascript-форум (https://javascript.ru/forum/)
-   Серверные языки и технологии (https://javascript.ru/forum/server/)
-   -   Поиск буквы в слове с выводом её порядкового номера (https://javascript.ru/forum/server/70211-poisk-bukvy-v-slove-s-vyvodom-ejo-poryadkovogo-nomera.html)

Sonya 20.08.2017 13:48

Поиск буквы в слове с выводом её порядкового номера
 
Здравствуйте!
Как можно на PHP найти определенную букву в слове, и вывести порядковый номер её первого вхождения, если такая буква есть, если нет, то вывести "0".

Sonya 20.08.2017 14:02

Да, и главное, без учета регистра.

Sonya 20.08.2017 14:10

strpos
не правильно считает русские буквы.

Nexus 20.08.2017 14:18

Sonya,
$str='СлОво';
echo 'Первая буква «о» встречается в строке «'.$str.'» символом №'.(1+mb_strpos(mb_strtolower($str),'о',0));
//1 + mb_strpos потому, что первый символ слова занимает позицию 0
exit;


Upd. Тут протестировать можно: http://sandbox.onlinephpfunctions.com/

Sonya 20.08.2017 14:32

Большое спасибо!

Sonya 20.08.2017 14:42

А как посчитать общее количеств букв "о" в слове "слово".

Nexus 20.08.2017 14:47

Sonya,
$str='СлОво';
echo substr_count(mb_strtolower($str),'о',0);
exit;

Такие вопросы можно тут задавать: https://google.ru/

Sonya 20.08.2017 14:55

Пыталась, правда через https://yandex.ru. А как в коде
$str='СлОво';
echo 'Первая буква «о» встречается в строке «'.$str.'» символом №'.(1+mb_strpos(mb_strtolower($str),'о',0));
//1 + mb_strpos потому, что первый символ слова занимает позицию 0
exit;

, корректно вывести "0", если буквы "о" нет.

Nexus 20.08.2017 14:59

Sonya, это имелось ввиду:
$str='СлОво';
$num=mb_strpos(mb_strtolower($str),'о',0);
echo 'Первая буква «о» встречается в строке «'.$str.'» символом №'.($num?++$num:0);
exit;

Sonya 20.08.2017 15:09

Нет, если этой буквы вообще нет в слове, то выводить "0".


Часовой пояс GMT +3, время: 11:58.