Есть ли эквивалентная функция, которая возвращает символ в позиции `X` в PHP? - PullRequest
9 голосов
/ 15 июля 2009

Есть ли эквивалентная функция, которая возвращает символ в позиции X в PHP?

Я просмотрел документацию, но не смог ее найти. Я ищу что-то вроде:

$charAtPosition20 = strCharAt(20, $myString);

Ответы [ 7 ]

30 голосов
/ 15 июля 2009

Вы можете использовать: $myString[20]

5 голосов
/ 15 июля 2009

Это можно сделать двумя способами:

  1. Используйте квадратные скобки и индекс для прямого доступа к символу в указанном месте, например: $string[$index] или $string[1];

  2. Используйте функцию substr: string substr ( string $string , int $start [, int $length ] )
    См. http://us2.php.net/manual/en/function.substr.php для получения дополнительной информации.

3 голосов
/ 11 июля 2016

Чтобы указать на небольшую оговорку, которую я заметил на странице руководства Strings :

Предупреждение Внутренне строки PHP являются байтовыми массивами. В результате доступ к строке или ее модификация с использованием скобок массива не являются многобайтовыми и должны выполняться только со строками в однобайтовой кодировке, такими как ISO-8859-1.

Функция str_split () может разбивать строку на массив каждого из ее символов (или подстрок определенной длины), но также не обрабатывает многобайтовые строки. Тем не менее, комментарии пользователей предлагают некоторые потенциальные решения.

0 голосов
/ 06 июля 2015

Вы можете пройти строку для каждого символа. как это.

$string = 'Here is the text';
echo $string{0}; // output H
echo $string{1}; // output e
echo $string{2}; // output r

...

0 голосов
/ 18 июня 2012

простой и легкий способ!

$string = 'Here is the text';
echo $string{2};

Возвращает символ «е», который находится на позиции 2.

0 голосов
/ 15 июля 2009
echo $myString{20};

или

substr($mystring, 20, 1)
0 голосов
/ 15 июля 2009

Nevermind нашел его:)

echo $str[1];

// так очевидно

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...