Получение символов строки на PHP

Пусть у нас есть какая-то строка. Каждый символ в этой строке имеет свой порядковый номер: первый символ номер 0, второй символ - номер 1, третий символ номер 2 и так далее.

При необходимости можно получить доступ к определенному символу строки по его номеру. Для этого пишется имя переменный, после этого имени ставятся квадратные скобки и в этих скобках указывается номер символа.

Давайте посмотрим на примере. Пусть у нас дана вот такая строка:

<?php $str = 'abcde'; ?>

Давайте выведем какие-нибудь символы этой строки:

<?php $str = 'abcde'; echo $str[0]; // выведет 'a' echo $str[1]; // выведет 'b' echo $str[2]; // выведет 'c' ?>

А теперь давайте изменим нулевой символ:

<?php $str = 'abcde'; $str[0] = '+'; echo $str; // выведет '+bcde' ?>

Номер символа также может храниться и в переменной:

<?php $str = 'abcde'; $num = 3; // номер символа в переменной echo $str[$num]; // выведет 'd' ?>

Дана строка 'abcde'. Обращаясь к отдельным символам этой строки выведите на экран символ 'a', символ 'c', символ 'e'.

Дана переменная со строкой 'abcde'. Обращаясь к отдельным символам этой строки запишите в новую переменную символы этой строки в обратном порядке, то есть 'edcba'.

Дана переменная $str со строкой 'abcde' и переменная $num с номером символа. Выведите на экран символ, номер которого хранится в переменной $num.

Последний символ строки

Давайте выведем последний символ строки. При этом сделаем так, чтобы наш скрипт сам определял номер последнего символа, независимо от длины строки.

Пусть у нас есть такая строка:

<?php $str = 'abcde'; ?>

Как вы видите, количество символов в этой строке равно 5. Если немного подумать, то становится очевидным, что номер последнего символа этой строки будет на 1 меньше ее длины, так как нумерация символов начинается с нуля.

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

Как вы уже знаете, длину строки можно найти с помощью функции strlen. Исходя из этого найдем номер последнего символа:

<?php $str = 'abcde'; $last = strlen($str) - 1; // номер последнего символа ?>

Используем найденный номер для вывода символа на экран:

<?php $str = 'abcde'; $last = strlen($str) - 1; // номер последнего символа echo $str[$last]; // выведет 'e' ?>

Промежуточную переменную $last можно и не вводить:

<?php $str = 'abcde'; echo $str[strlen($str) - 1]; // выведет 'e' ?>

Дана строка. Выведите на экран ее последний символ.

Дана строка. Выведите на экран ее предпоследний символ.

Дана строка. Выведите на экран ее предпредпоследний символ.

Цифры в строке

Как вы уже знаете, строки могут состоять из цифр. В этом случае все будет работать аналогично:

<?php $str = '12345'; echo $str[0]; // выведет '1' echo $str[1]; // выведет '2' echo $str[2]; // выведет '3' ?>

Можно, например, найти сумму первых двух цифр нашего числа и это будет работать:

<?php $str = '12345'; echo $str[0] + $str[1]; // выведет 3 ?>

Дана строка '12345'. Найдите сумму цифр этой строки.

Числа

Попытка получить символ числа приведет к ошибке:

<?php $num = 12345; echo $num[0]; // выдаст ошибку ?>

Для решения проблемы можно преобразовать наше число к строке:

<?php $num = 12345; $str = (string) $num; echo $str[0]; // выведет '1' ?>

Дано число 12345. Найдите сумму цифр этого числа.

Дано число 12345. Найдите произведение цифр этого числа.

Дано число 12345. Переставьте цифры этого числа в обратном порядке.