Что выведет код Middle Массивы изнутри обновлено

Какие ключи получит массив

Вопрос

Что выведет скрипт (PHP 8.3)? По строке на каждый вывод.

<?php
$a = [];
$a[] = 'x';
$a[10] = 'y';
$a[] = 'z';
$a["5"] = 'w';
$a["05"] = 'v';
$a[-3] = 'u';
$a[] = 't';
echo implode(',', array_keys($a)), "\n";
var_dump(array_key_last($a));

Попробуйте сами

Напишите, что выведет код: каждый вывод с новой строки.

Показать ответ и разбор

Коротко

Код выведет: 0,10,11,5,05,-3,12, int(12). $a[] берёт следующий ключ после максимального целого: 0, затем после 10 идёт 11.

Что выведет

0,10,11,5,05,-3,12
int(12)

Разбор

$a[] берёт следующий ключ после максимального целого: 0, затем после 10 идёт 11. Строка "5" превращается в int 5, а "05" остаётся строкой. Отрицательный ключ -3 не влияет на следующий автоключ, если максимальный уже больше: последний получит 12.

Ответьте сами, а не прочитайте

В тренажёре вопрос попадёт в повторения и вернётся, когда начнёт забываться. Плюс билеты с зачётом: 20 вопросов, не больше 2 ошибок.