Решение, автором проекта, задачи Анаграммы

Доброго времени суток!
Не могли бы вы объяснить эту часть кода?

$lineSymbols1 = [];
$lenght = strlen($line1);
for ($i = 0; $i < $lenght; $i++) {
    if (isset($lineSymbols1[$line1[$i]])) {
        $lineSymbols1[$line1[$i]]++;
    } else {
        $lineSymbols1[$line1[$i]] = 1;

Именно непонятна эта запись ($lineSymbols1[$line1[$i]]), я так понимаю функция isset проверяет существование вложенных элементов массива, [$line1[$i]] здесь $line1 это ключ, а $i его значение?!
Перед этим массив объявлен пустым!

Harvester 08.12.2020 в 19:19

Ответы (2)


isset проверяет что в массиве $lineSymbols1 есть ключ с названием, равным $line1[$i]. То есть если в $line1 лежит строка abc, $i = 1, в результате выполнения выражения $line1[$i] получится 'b'.
isset будет проверять что в массиве lineSymbols1 есть ключ 'b'.

ivashkevich 13.12.2020 в 07:21

Какой там разделитель слов? Что-то не могу понять...

devdev 10.09.2021 в 02:41

Добавить новый ответ