Przeanalizuj porównania obiektów za pomocą operatorów równości (==) oraz identyczności (===). Jaki rezultat zwróci funkcja var_dump()?
Przeanalizuj porównania obiektów za pomocą operatorów równości (==) oraz identyczności (===). Jaki rezultat zwróci funkcja var_dump()?
<?php
class Produkt {
public $id = 1;
}
$p1 = new Produkt();
$p2 = new Produkt();
$p3 = $p1;
var_dump($p1 == $p2, $p1 === $p2, $p1 === $p3);
?>Wyjaśnienie i uzasadnienie dydaktyczne
Poprawna odpowiedź: B (bool(true) bool(false) bool(true))
W języku PHP:
$p1 == $p2— operator luźnej równości==dla obiektów sprawdza, czy są tej samej klasy i mają identyczne wartości atrybutów -> zwracatrue,$p1 === $p2— operator tożsamości===sprawdza, czy obie zmienne wskazują na tę samą instancję (ten sam obiekt w pamięci) -> dwie różne instancje dająfalse,$p1 === $p3— zmienna$p3 = $p1wskazuje dokładnie na tę samą instancję -> zwracatrue. Wynik to:bool(true) bool(false) bool(true).
Dlaczego pozostałe opcje są nieprawidłowe?
- A:
$p1 === $p2jest fałszem, ponieważ są to dwa odrębne obiekty powołane osobnyminew. - C:
$p1 == $p2zwracatrue, ponieważ oba obiekty mają identyczną strukturę i wartości pól. - D:
$p1 === $p3zwracatrue, ponieważ$p3jest referencją do instancji$p1.
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
- Typy danych i operatory porównania (== vs ===)Zasady typowania w JavaScript oraz fundamentalna różnica między porównaniem luźnym z konwersją typu (==) a ścisłym (===).
- Metody tablicowe w JS (push, pop, map, filter, forEach, splice)Funkcje wbudowane w prototyp tablic służące do mutowania zawartości, transformacji, filtrowania i iteracji po elementach.
- Zasięg zmiennych i Hoisting (let, const vs var)Mechanizmy określające widoczność zmiennych w blokach kodu oraz wynoszenie deklaracji zmiennych i funkcji na górę zakresu (Hoisting).
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