Wyszukiwanie wartości z uwzględnieniem typu danych (wyszukiwanie ścisłe)
Założenie: Sprawdzimy, czy wartość istnieje w tablicy, uwzględniając jej typ danych. Na przykład, zweryfikujemy, czy liczba jest typu integer i ma określoną wartość.
Krok po kroku:
- Tworzymy tablicę z różnymi typami danych:
- Sprawdzamy istnienie wartości 10 typu integer:
- Sprawdzamy istnienie wartości “10” typu string:
$tablica = [10, "10", 10.0, true];
Tworzymy tablicę zawierającą liczbę całkowitą (10), liczbę w postaci stringa (“10”), liczbę zmiennoprzecinkową (10.0) oraz wartość logiczną (true).
$wartosc = 10;
$istnieje = in_array($wartosc, $tablica, true); // true - oznacza ścisłe porównanie typów
if ($istnieje) {
echo "Wartość $wartosc typu integer istnieje w tablicy.";
} else {
echo "Wartość $wartosc typu integer nie istnieje w tablicy.";
}
Funkcja `in_array()` z trzecim parametrem ustawionym na `true` wykonuje ścisłe porównanie, uwzględniając typ danych. W tym przypadku zwróci `true`, ponieważ wartość 10 typu integer znajduje się w tablicy.
$wartosc = "10";
$istnieje = in_array($wartosc, $tablica, true);
if ($istnieje) {
echo "Wartość $wartosc typu string istnieje w tablicy.";
} else {
echo "Wartość $wartosc typu string nie istnieje w tablicy.";
}
Tym razem funkcja `in_array()` zwróci `false` (jeśli trzeci parametr jest true), ponieważ szukamy stringa “10”, a nie liczby całkowitej 10.
Ten przykład pokazuje, jak ważne jest uwzględnianie typu danych podczas wyszukiwania wartości w tablicach w PHP. Użycie trzeciego parametru w funkcji `in_array()` pozwala na precyzyjne wyszukiwanie, unikając nieoczekiwanych rezultatów.