Задать вопрос
@yv1995

Объясните пожалуйста ,почему $a = '1'; $a[$a] = '2'; и в итоге echo $a // $a = '12' Почему так?

Объясните пожалуйста ,почему $a = '1'; $a[$a] = '2'; и в итоге echo $a // $a = '12' Почему так?
Спасибо!
  • Вопрос задан
  • 853 просмотра
Подписаться 1 Оценить Комментировать
Помогут разобраться в теме Все курсы
  • Skillbox
    Веб-разработчик на PHP
    9 месяцев
    Далее
  • Хекслет
    PHP-разработчик
    10 месяцев
    Далее
  • Нетология
    Веб-разработчик с нуля: профессия с выбором специализации
    14 месяцев
    Далее
Решения вопроса 1
Sanasol
@Sanasol Куратор тега PHP
нельзя просто так взять и загуглить ошибку
Строка это массив символов.
По ключу можно получать/менять значения.

$a = '1'; // Строка 1 или массив [0 => '1']
=>
$a[1] = '2'; // Назначили по ключу 1 цифру 2. Строка 12 или массив [0 => '1', 1 => '2']
Ответ написан
Пригласить эксперта
Ответы на вопрос 3
arutyunov
@arutyunov
Mooza.ru — Делаем сайты
Потому что $a — это строка, т.е. массив символов.
Ответ написан
Комментировать
@funtik52
Вы только объясните человеку что тут неявное преобразования строкового типа к целому. При обращения к элементу массива указывается сам же массив, то есть строка. Её значение '1' преобразуется в число 1.
Ответ написан
Комментировать
kompi
@kompi
nullstack devoops
Ещё один момент, если был не понятен: $a['1']. Для доступа к символу в строке требуется целочисленный индекс. В данном случае происходит неявное преобразование к integer, т.е. в итоге будет $[1].
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы
FoodSoul Калининград
от 180 000 до 250 000 ₽
IT-Spirit Москва
от 230 000 до 320 000 ₽
от 200 000 до 290 000 ₽