Przeanalizuj funkcję anonimową implementującą domknięcie (closure). Jaka wartość zostanie wyświetlona po wywołaniu zmiennej $f()?
Przeanalizuj funkcję anonimową implementującą domknięcie (closure). Jaka wartość zostanie wyświetlona po wywołaniu zmiennej $f()?
<?php
$x = 10;
$f = function() use ($x) {
echo $x;
};
$x = 20;
$f();
?>Wyjaśnienie i uzasadnienie dydaktyczne
Poprawna odpowiedź: A (10)
Ponieważ konstrukcja use ($x) importuje zmienną do zasięgu funkcji anonimowej w momencie jej definiowania przez kopiowanie wartości (by value). Późniejsza zmiana wartości zmiennej $x w głównym skrypcie na 20 nie wpływa na wartość skopiowaną wewnątrz domknięcia.
Opcja B jest niepoprawna, ponieważ wartość 20 zostałaby wyświetlona tylko wtedy, gdyby zmienna była importowana przez referencję, przy użyciu zapisu use (&$x). Opcja C jest niepoprawna, ponieważ zmienna miała przypisaną wartość początkową. Opcja D jest niepoprawna, ponieważ domknięcia realizowane przez konstrukcję use są prawidłowym elementem składni języka PHP.
Dlaczego pozostałe opcje są nieprawidłowe?
- B: Opcja
20nie odpowiada prawidłowemu rozwiązaniu problemu opisanego w pytaniu. - C: Opcja
0nie odpowiada prawidłowemu rozwiązaniu problemu opisanego w pytaniu. - D: Opcja
Blad kompilacji z powodu braku argumentunie 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.
Pojęcia z tego pytania
- Funkcje strzałkowe i anonimowe w JSFunkcja zdefiniowana bez nazwy identyfikatora, często przekazywana jako callback lub zapisywana zwięzłą składnią strzałkową () => {}.
- Domknięcia (Closures) w JavaScriptZdolność funkcji wewnętrznej do zapamiętywania i posiadania dostępu do zmiennych ze swojego leksykalnego zasięgu rodzica, nawet po zakończeniu jego działania.
- Drzewo DOM (Document Object Model)Wieloplatformowy i niezależny od języka interfejs programistyczny traktujący dokument HTML jako hierarchiczne drzewo obiektów (węzłów).
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.
- #39
Fragment kodu prezentuje składnię języka
- #42
Który język skryptowy ogólnego przeznaczenia należy wykorzystać do tworzenia aplikacji WWW, zagnieżdżanych w języku HTML i uruchamianych po stronie serwera?
- #69
Która z wymienionych funkcji sortowania wykorzystywana w języku PHP sortuje tablicę asocjacyjną według indeksów
- #73
Instrukcja języka PHP tworząca obiekt pkt dla zdefiniowanej w ramce klasy ma postać
- #74
Wskaż wynik wykonania skryptu napisanego w języku PHP