Пусть у нас есть какая-то строка. Каждый
символ в этой строке имеет свой порядковый
номер: первый символ номер 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
. Переставьте цифры
этого числа в обратном порядке.