@yv1995

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

Объясните пожалуйста ,почему $a = '1'; $a[$a] = '2'; и в итоге echo $a // $a = '12' Почему так?
Спасибо!
  • Вопрос задан
  • 831 просмотр
Решения вопроса 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].
Ответ написан
Комментировать
Ваш ответ на вопрос

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

Войти через центр авторизации
Похожие вопросы