PHP PHP  ·  20 вопросов  ·  ~55 мин  ·  ⏱ Таймер 55:00  ·  Лёгкий  · 

Массивы PHP

Одинаково выглядящие операции с массивами могут переиндексировать ключи, сохранить их, изменить исходные данные или оставить неожиданную ссылку. Вопросы требуют различать эти последствия и выбирать решение, подходящее для реального кода.

Отвечено: 0 из 20
⏱ --:--
0%
💡 Инструкция: Выберите один ответ из пяти. Следите отдельно за ключами, значениями и мутациями исходного массива. На тест дано 55 минут.
Вопрос 1 из 20
Какие ключи получит массив?
PHP
$a = [2 => 'x', 5 => 'y'];
$a[] = 'z';
print_r(array_keys($a));
Вопрос 2 из 20
Что вернёт count($a)?
PHP
$a = [1 => 'A', 5 => 'B'];
echo count($a);
Вопрос 3 из 20
Как получить первый элемент независимо от того, начинается ли числовой ключ с нуля?
PHP
$a = [7 => 'первый', 11 => 'второй'];
$key = array_key_first($a);
echo $a[$key];
Вопрос 4 из 20
Что получится после распаковки?
PHP
$left = ['a'];
$right = ['b', 'c'];
$result = [...$left, ...$right];
Вопрос 5 из 20
Очередь содержит десятки тысяч элементов. Почему многократный array_shift() может быть плохим выбором?
Вопрос 6 из 20
Какой результат покажут две проверки?
PHP
$a = ['token' => null];
var_dump(isset($a['token']), array_key_exists('token', $a));
Вопрос 7 из 20
Как безопасно прочитать вложенный параметр theme с резервным значением "light"?
Вопрос 8 из 20
Что произойдёт при использовании array_merge для одинакового строкового ключа?
Вопрос 9 из 20
Какой массив получится?
PHP
$defaults = ['mode' => 'safe'];
$user = ['mode' => 'fast', 'debug' => false];
$result = $defaults + $user;
Вопрос 10 из 20
Нужно проверить, был ли клиентом явно передан ключ middle_name, даже если его значение null. Что использовать?
Вопрос 11 из 20
Какая функция отсортирует значения по возрастанию и сохранит их строковые ключи?
Вопрос 12 из 20
Что будет потеряно после sort($prices)?
PHP
$prices = ['book' => 500, 'pen' => 70];
sort($prices);
Вопрос 13 из 20
Почему компаратор usort вида fn($a,$b) => $a > $b ненадёжен?
Вопрос 14 из 20
Как корректно отсортировать версии "item2", "item10", "item3" в привычном человеку порядке?
Вопрос 15 из 20
Нужно отсортировать записи по цене, а при равной цене — по имени. Что делает намерение наиболее ясным?
Вопрос 16 из 20
Как изменятся исходный массив и его копия после присваивания и последующей записи в копию?
PHP
$a = [1, 2];
$b = $a;
$b[0] = 9;
echo $a[0];
Вопрос 17 из 20
Что изменится при $b = &$a?
Вопрос 18 из 20
Почему после foreach по ссылке рекомендуется unset($value)?
PHP
foreach ($items as &$value) {
    $value = trim($value);
}
unset($value);
Вопрос 19 из 20
Какой массив выведет этот код, если после первого foreach не выполнить unset($v)?
PHP
$a = [1,2,3];
foreach ($a as &$v) {}
foreach ($a as $v) {}
print_r($a);
Вопрос 20 из 20
Функция должна вернуть изменённый массив, не меняя аргумент вызывающего кода. Какой контракт предпочтительнее?

Ответьте на все 20 вопросов, чтобы получить результат

🔗 Встроить тест на свой сайт (iframe) ▼

Скопируйте код и вставьте в любое место на вашем сайте:

Также доступна прямая ссылка на embed-страницу