Wyszukiwanie wartości w tablicach zagnieżdżonych z użyciem rekurencji
Założenie: Napiszemy funkcję rekurencyjną, która będzie przeszukiwała tablicę zagnieżdżoną w celu znalezienia określonej wartości.
Krok po kroku:
- Definicja funkcji rekurencyjnej: Stworzymy funkcję
searchNestedArray
, która przyjmuje tablicę i szukaną wartość jako argumenty. - Przykład użycia: Utworzymy przykładową tablicę zagnieżdżoną i przetestujemy naszą funkcję.
function searchNestedArray(array $array, $value): bool {
foreach ($array as $item) {
if ($item === $value) {
return true;
} elseif (is_array($item)) {
if (searchNestedArray($item, $value)) {
return true;
}
}
}
return false;
}
Funkcja iteruje po elementach tablicy. Jeśli znajdzie szukaną wartość, zwraca true
. Jeśli napotka zagnieżdżoną tablicę, rekurencyjnie wywołuje samą siebie dla tej podtablicy. Jeśli nic nie zostanie znalezione, zwraca false
.
$nestedArray = [
1, 2, [3, 4, [5, 6]], 7, 8
];
$valueToFind = 5;
if (searchNestedArray($nestedArray, $valueToFind)) {
echo "Wartość $valueToFind znaleziona w tablicy.";
} else {
echo "Wartość $valueToFind nie znaleziona w tablicy.";
}
Ten kod sprawdza, czy wartość 5 znajduje się w tablicy $nestedArray
. Wynik zostanie wyświetlony na ekranie.
Ten przykład pokazuje podstawy rekurencji w PHP i jej zastosowanie do przeszukiwania tablic zagnieżdżonych. Zachęcamy do eksperymentowania z różnymi tablicami i wartościami, aby lepiej zrozumieć działanie funkcji.