Раздел вопрос-ответ Как вывести первый символ строки на php 5.4?

Как вывести первый символ строки на php 5.4?

substr($str, 0, 1);  //не предлагать

 

share

1 ответ

$myString = 'Hello, world!';
echo $myString[0]; // 'H' 
echo $myString[1]; // 'e' 

К строке можно обращаться как к массиву, где под нулевым индексом массива будет храниться первый байт строки. Следующий элемент массива - второй байт строки и т.д.

Поэтому нужно быть осторожным при использовании данной возможности с юникодом, где один символ может занимать не один, а несколько байт. Пример:

$myString = 'Первый символ строки?!';
echo $myString[0]; // '�'
echo PHP_EOL;
echo $myString[1]; // '�'
echo PHP_EOL;

Так как пока что нативной поддержки юникода в php нет, то получение первого символа строки на php для юникода, лучше сделать с помощью функции mb_substr:

mb_substr($myString, 0, 1)

Если мы точно знаем, что хранится в переменной, то можно так:

echo $myString[0];

 

Добавить комментарий
    как минимум 5 символов

    icon Вход в систему

    зарегистрироваться