Łączenie tablic indeksowanych
Część sekcji Logika i przepływ programu ścieżki PHP w Coddy. Lekcja 14 z 68.
Gdy musisz połączyć wiele tablic indeksowanych w jedną większą tablicę, funkcja array_merge() w PHP jest idealnym rozwiązaniem. Ta funkcja przyjmuje jako argumenty dwie lub więcej tablic i tworzy nową tablicę zawierającą wszystkie elementy z tablic wejściowych.
Oto podstawowa składnia:
<?php
$firstList = ["Alice", "Bob"];
$secondList = ["Charlie", "Diana"];
$combined = array_merge($firstList, $secondList);
print_r($combined); // Wyświetla: Array ( [0] => Alice [1] => Bob [2] => Charlie [3] => Diana )
?>Zwróć uwagę, że array_merge() tworzy zupełnie nową tablicę, zamiast modyfikować oryginalne tablice. Elementy z pierwszej tablicy pojawiają się jako pierwsze, a następnie elementy z drugiej tablicy i tak dalej. Indeksy nowej tablicy są automatycznie nadawane ponownie, począwszy od 0.
Możesz połączyć więcej niż dwie tablice naraz:
<?php
$morning = ["John", "Sarah"];
$afternoon = ["Mike", "Lisa"];
$evening = ["Tom"];
$allGuests = array_merge($morning, $afternoon, $evening);
print_r($allGuests); // Wyświetla: Array ( [0] => John [1] => Sarah [2] => Mike [3] => Lisa [4] => Tom )
?>Ta funkcja jest szczególnie przydatna, gdy zbierasz dane z różnych źródeł i musisz połączyć je w jedną listę, na przykład łącząc listy gości z różnych wydarzeń lub katalogi produktów z wielu kategorii.
Wyzwanie
ŁatwyOtrzymasz trzy dane wejściowe: dwie tablice w formacie JSON i trzecią tablicę również w formacie JSON. Odczytaj wszystkie trzy dane wejściowe, przekonwertuj każdy ciąg JSON na tablicę, użyj array_merge(), aby połączyć wszystkie trzy tablice w jedną, a następnie wyświetl połączoną tablicę za pomocą print_r().
Format danych wejściowych: Trzy wiersze — każdy wiersz zawiera tablicę JSON (na przykład: ["apple","banana"])
Oczekiwany wynik: Połączona tablica zawierająca wszystkie elementy z trzech tablic w tej kolejności, wyświetlona za pomocą print_r()
Spróbuj swoich sił
<?php
// Wczytaj trzy dane wejściowe JSON
$input1 = trim(fgets(STDIN));
$input2 = trim(fgets(STDIN));
$input3 = trim(fgets(STDIN));
// Przekształć ciągi JSON w tablice
$array1 = (array)json_decode($input1, true);
$array2 = (array)json_decode($input2, true);
$array3 = (array)json_decode($input3, true);
// TODO: Napisz poniżej kod, który połączy tablice i wypisze wynik
?>Ta lekcja zawiera krótki quiz. Zacznij lekcję, żeby na niego odpowiedzieć i śledzić swoje postępy.
Wszystkie lekcje w sekcji Logika i przepływ programu
1Zaawansowane funkcje
Funkcje anonimoweDomknięcia i „use”Funkcje strzałkoweFunkcje zwrotneUżywanie „call_user_func”Funkcje zmiennePrzekazywanie przez referencjęFunkcje rekurencyjnePowtórka: przegląd funkcji4Tablice wielowymiarowe
Tworzenie tablicy 2DDostęp do elementów tablicy 2DModyfikowanie elementów tablicy 2DIterowanie z użyciem zagnieżdżonych pętliAsocjacyjne tablice 2DPodsumowanie: ćwiczenie z prostą siatką2Zaawansowane operacje na tablicach
Dodawanie za pomocą 'array_push'Usuwanie za pomocą 'array_pop'Dodawanie za pomocą 'array_unshift'Usuwanie za pomocą 'array_shift'Łączenie tablic indeksowanychŁączenie tablic asocjacyjnychWyodrębnianie za pomocą 'array_slice'Wyszukiwanie wartości za pomocą 'in_array'Wyszukiwanie kluczy za pomocą 'array_search'Podsumowanie: ćwiczenie z playlistą3Sortowanie tablic
Sortowanie tablic indeksowanych rosnącoSortowanie tablic indeksowanych malejącoSortowanie tablic asocjacyjnych według wartościSortowanie tablic asocjacyjnych według kluczaSortowanie w kolejności naturalnejSortowanie niestandardowe za pomocą 'usort'Podsumowanie: sortowanie tabeli wynikówPoćwicz samodzielnie: Kompilator PHP online