Вопрос по пхп

D
На сайте с 28.06.2008
Offline
1114
466

Учу цикл while, прошу помочь понять строку, вот есть код

<?php

$str = 'Hello'; //задали значение переменной
$i = 0; //задали значение еще одной переменной
$len = strlen($str); //определяем кол-во символов в переменной str
while ($i < $len) { //сравниваем кол-во символов в переменных
echo $str{$i}."<br>" ; //не могу понять
$i++; //добавляем +1 только вот к чему к нулю или к тому что получилось строкой выше?
}
?>

Что значит одна переменная внутри другой?

Chkan
На сайте с 22.10.2008
Offline
129
#1

Каждая строка представляет собой массив из символов. К каждому символу можно обратится по его индексу. Например echo $str[0]; должно вернуть "H" в данном примере.

Устали разбираться в AI? Выход здесь: https://vk.cc/cNtMsW
D
На сайте с 28.06.2008
Offline
1114
#2
Chkan:
echo $str[0]; должно вернуть "H" в данном примере.

Я не понимаю строку $str{$i}, либо не понял вас...

Chkan
На сайте с 22.10.2008
Offline
129
#3

В PHP 5.5 была добавлена поддержка доступа к символам в строковых литералах с помощью синтаксиса [] или {}.

---------- Добавлено 13.06.2017 в 10:38 ----------

т.е. $str[$i] == $str{$i}

S
На сайте с 30.09.2016
Offline
469
#4
Dram:
Я не понимаю строку $str{$i}

$i-ый по порядку символ в строке $str. По второму вопросу: $i++ - увеличиваем на 1 текущее значение переменной.

Отпилю лишнее, прикручу нужное, выправлю кривое. Вытравлю вредителей.
D
На сайте с 28.06.2008
Offline
1114
#5

Sitealert, Chkan, спасибо!

danforth
На сайте с 18.12.2015
Offline
153
#6

А там, где вы взяли этот пример, не объясняется? Если это из учебника, то объяснение должно быть где-то рядом с листингом кода.

Попробуйте теперь строку "Hello" Заменить на "Привет". 🤪

Junior Web Developer
ДП
На сайте с 23.11.2009
Offline
203
#7
danforth:

Попробуйте теперь строку "Hello" Заменить на "Привет". 🤪

Не путайте человека раньше времени 🍿

Авторизуйтесь или зарегистрируйтесь, чтобы оставить комментарий