Есть ли эквивалентная функция, которая возвращает символ в позиции X в PHP?
X
Я просмотрел документацию, но не смог ее найти. Я ищу что-то вроде:
$charAtPosition20 = strCharAt(20, $myString);
Вы можете использовать: $myString[20]
$myString[20]
Это можно сделать двумя способами:
Используйте квадратные скобки и индекс для прямого доступа к символу в указанном месте, например: $string[$index] или $string[1];
$string[$index]
$string[1]
Используйте функцию substr: string substr ( string $string , int $start [, int $length ] ) См. http://us2.php.net/manual/en/function.substr.php для получения дополнительной информации.
substr
string substr ( string $string , int $start [, int $length ] )
Чтобы указать на небольшую оговорку, которую я заметил на странице руководства Strings :
Предупреждение Внутренне строки PHP являются байтовыми массивами. В результате доступ к строке или ее модификация с использованием скобок массива не являются многобайтовыми и должны выполняться только со строками в однобайтовой кодировке, такими как ISO-8859-1.
Функция str_split () может разбивать строку на массив каждого из ее символов (или подстрок определенной длины), но также не обрабатывает многобайтовые строки. Тем не менее, комментарии пользователей предлагают некоторые потенциальные решения.
Вы можете пройти строку для каждого символа. как это.
$string = 'Here is the text'; echo $string{0}; // output H echo $string{1}; // output e echo $string{2}; // output r
...
простой и легкий способ!
$string = 'Here is the text'; echo $string{2};
Возвращает символ «е», который находится на позиции 2.
echo $myString{20};
или
substr($mystring, 20, 1)
Nevermind нашел его:)
echo $str[1];
// так очевидно