Przejdź do treści głównej
INF.03Pytanie #1539 z 1558php-skladnia-i-struktury

Przeanalizuj poniższy kod PHP operujący na tablicach. Jaki wynik zostanie wyświetlony po jego wykonaniu?

php
<?php
$a = [1 => 'a', 2 => 'b'];
$b = [2 => 'c', 3 => 'd'];
$c = $a + $b;
foreach ($c as $klucz => $wartosc) {
    echo $klucz . $wartosc;
}
?>
Opcje odpowiedzi:
A
1a2b3d
Prawidłowa
B
1a2c3d
C
1a2b2c3d
D
1a3d
Reklama

Wyjaśnienie i uzasadnienie dydaktyczne

Poprawna odpowiedź: A (1a2b3d)

Ponieważ operator dodawania tablic + w języku PHP łączy dwie tablice na zasadzie sumowania kluczy. Jeśli dany klucz istnieje już w tablicy po lewej stronie ($a), wartość przypisana do tego klucza z tablicy po prawej stronie ($b) jest całkowicie ignorowana. Klucz 2 ma w tablicy $a wartość b, więc wartość c z tablicy $b nie zostanie dodana. Ostateczna tablica $c przybierze postać [1 => 'a', 2 => 'b', 3 => 'd'], co po przejściu pętli wypisze 1a2b3d.

Opcja B jest niepoprawna, ponieważ przedstawia wynik działania funkcji array_merge(), która dla kluczy numerycznych przenumerowałaby indeksy od zera lub nadpisała wartości dla tekstowych. Opcja C jest niepoprawna, ponieważ tablica w PHP nie może posiadać dwóch identycznych kluczy na tym samym poziomie struktury. Opcja D jest niepoprawna, ponieważ klucz 2 nie zostaje usunięty z wynikowej tablicy.

Dlaczego pozostałe opcje są nieprawidłowe?

  • B: Opcja 1a2c3d nie odpowiada prawidłowemu rozwiązaniu problemu opisanego w pytaniu.
  • C: Opcja 1a2b2c3d nie odpowiada prawidłowemu rozwiązaniu problemu opisanego w pytaniu.
  • D: Opcja 1a3d nie odpowiada prawidłowemu rozwiązaniu problemu opisanego w pytaniu.

Chcesz poćwiczyć całą kwalifikację INF.03?

Egzamin próbny na czas, nauka działami, losowe pytanie albo przegląd całej bazy — wszystko w przeglądarce i bez zakładania konta.

Rozwiąż w Quizie

Pojęcia z tego pytania

Cały słownik INF03
Reklama

Podobne pytania z działu „Php skladnia i struktury”

Ten sam obszar materiału z kwalifikacji INF.03. W całej bazie znajdziesz 165 pytań z tego działu.