Funkcja php array_map

Funkcja php array_map
array_map () Funkcja jest używana w PHP do utworzenia tablicy wielowymiarowej poprzez połączenie jednej lub więcej tablic. Innym użyciem tej funkcji jest modyfikacja każdego elementu tablicy na podstawie określonego warunku. Wysyła każdą wartość do zdefiniowanej przez użytkownika funkcji oddzwaniania, która zwraca nową tablicę po modyfikacji. Zastosowania tej funkcji są omówione w tym samouczku.

Składnia

tablica array_map (callable $ callback, array $ array, array… $ tablica);

Pierwsze i drugie argumenty tej funkcji są obowiązkowe. Pierwszy argument zawiera funkcję wywoławczą, która zmodyfikuje elementy tablicy. Drugi argument zawiera tablicę, która zostanie zmodyfikowana. Pozostałe argumenty są opcjonalne i używane do przechowywania innych tablic. Zwróci zmodyfikowaną tablicę generowaną przez funkcję wywołania zwrotnego.

Użycie funkcji array_map ()

Zastosowania funkcji array_map () do wielu celów są pokazane w tej części samouczka.

Przykład 1: Utwórz tablicę, usuwając określone wartości tablicy
Utwórz plik PHP z następującym skryptem, aby utworzyć nową tablicę, usuwając określone wartości z głównej tablicy. W skrypcie zadeklarowano szereg danych numerycznych. Nazywana funkcja wywołania zwrotnego callback_func () zadeklarował utworzenie nowej tablicy, usuwając te liczby większe niż 99 z tablicy numerycznej. Wartość zwracana funkcji Array_Map () zostanie wydrukowana później:

// zadeklaruj szereg danych liczbowych
$ num_array = tablica (78, 45, 300, 98, 690);
// Wydrukuj wartości tablicy
Echo "Wartości tablicy przed wywołaniem funkcji Array_Map ():
";
print_r ($ num_array);
/*
Deklaruj funkcję wywołania zwrotnego
Aby usunąć te liczby z tablicy
są one większe niż 99
*/
funkcja callback_func (wartość $)

// Sprawdź, czy wartość jest większa niż 99 lub nie
if ($ wartość> 99)

// usuń wartość z tablicy
Unset (wartość $);

w przeciwnym razie
zwrot $ wartość;

Echo "
Wartości tablicy po wywołaniu funkcji Array_Map ():
";
// Wydrukuj tablicę po usunięciu pustych wartości
print_r (array_filter (array_map („callback_func”, $ num_array)));
?>

Wyjście:

Następujące dane wyjściowe pojawią się po wykonaniu poprzedniego skryptu. Dwa elementy w tablicy wynoszą ponad 99, które wynoszą 300 i 690. Te dwa elementy zostały usunięte z tablicy wyjściowej.

Przykład 2: Utwórz tablicę za pomocą danych z wielu tablic
Utwórz plik PHP z następującym skryptem, który utworzy tablicę, obliczając moc, w której wartość podstawowa zostanie pobrana z jednej tablicy, a wartość mocy zostanie pobrana z innej tablicy. Nowo wygenerowana tablica zostanie wydrukowana później:

// zadeklaruj dwa numeryczne tablice równych elementów
$ num_arr1 = tablica (2, 3, 5, 8);
$ num_arr2 = tablica (5, 4, 3, 2);
// Wydrukuj wartości dwóch tablic
Echo "
Wartości dwóch tablic:
";
print_r ($ num_arr1);
Echo "
";
print_r ($ num_arr2);
Echo "
";
/*
Zdefiniuj funkcję wywołania zwrotnego, aby obliczyć opartą na mocy
na dwóch wartościach tablicy, w których wartość pierwszej tablicy
będzie wartością podstawową, a wartość drugiej tablicy będzie mocą.
*/
funkcja oblicz_powet ($ val1, $ val2)
// Oblicz moc
return pow ($ val1, $ val2);

// Wydrukuj tablicę zwróconą przez funkcję array_map ()
Echo "
Wartości tablicy zwrócone przez funkcję array_map ():
";
print_r (array_map („calculate_power”, $ num_arr1, $ num_arr2));
?>

Wyjście:

Następujące dane wyjściowe pojawią się po wykonaniu poprzedniego skryptu:

Przykład 3: Utwórz tablicę, łącząc dwie tablice bez funkcji zwrotnej
W poprzednich dwóch przykładach funkcja wywołania zwrotnego zastosowano w pierwszym argumencie funkcji Array_Map (). Jednak tę funkcję może być używana bez funkcji wywołania zwrotnego i zero Wartość zastosowano w pierwszym argumencie funkcji. Utwórz plik PHP z następującym skryptem, aby utworzyć nową tablicę, łącząc wartości dwóch tablic bez użycia funkcji zwrotnej:

// deklaruj dwie tablice wartości ciągu
$ name_arr1 = array („sakib”, „sarleez”, „Janifer”);
$ name_arr2 = array („tania”, „tawsif”, „zafar”, „fatema”);
// Wydrukuj wartości dwóch tablic
Echo "
Wartości dwóch tablic:
";
print_r ($ name_arr1);
Echo "
";
print_r ($ name_arr2);
Echo "
";
// Wydrukuj tablicę zwróconą przez funkcję array_map ()
Echo "
Wartości tablicy zwrócone przez funkcję array_map ():
";
print_r (array_map (null, $ name_arr1, $ name_arr2));
?>

Wyjście:

Następujące dane wyjściowe pojawią się po wykonaniu poprzedniego skryptu:

Przykład 4: Utwórz tablicę, modyfikując wartości liczbowe tablicy asocjacyjnej
Utwórz plik PHP z następującym skryptem, aby zmodyfikować wartości liczbowe tablicy asocjacyjnej. W skrypcie zadeklarowano asocjacyjny szereg dwóch elementów. Nazwana funkcja wywołania zwrotnego Modyfit_array () został ogłoszony dodaniem „$”Przed każdą wartością liczbową tablicy.

// zadeklaruj tablicę asocjacyjną
$ assc_array = ["name" => "pen", "price" => 10];
// Wydrukuj wartości tablicy
Echo "Wartości tablicy przed wywołaniem funkcji Array_Map ():
";
print_r ($ assc_array);
/*
Zadeklarować funkcję zwrotną
Dodaj „$” przed każdą wartością liczbową tablicy
*/
funkcja modyfif_array ($ val)
if (is_numeric ($ val))
zwrócić „$”.$ val;
w przeciwnym razie
zwrot $ val;

Echo "

Wartości tablicy po wywołaniu funkcji Array_Map ():
";
// Wydrukuj zmodyfikowaną tablicę
print_r (array_map („modyfy_array”, $ assoc_array));
?>

Wyjście:

Następujące dane wyjściowe pojawią się po wykonaniu poprzedniego skryptu. Jeden element tablicy zawiera wartość liczbową, która wynosi 10. Wartość zmieniła się na „10 USD” w tablicy wyjściowej.

Przykład 5: Utwórz tablicę opartą na klawiszach i wartościach tablicy asocjacyjnej
Funkcja Callback () funkcji Array_Map () może wziąć dwa argumenty dla tablicy asocjacyjnej. Utwórz plik PHP z następującym skryptem, aby wygenerować nową tablicę za pomocą klawiszy i wartości tablicy asocjacyjnej. Nazwana funkcja wywołania zwrotnego Modyfit_assoc_array () weźmie klucz do tablicy w pierwszym argumencie i wartość tablicy w drugim argumencie. Tablica wyjściowa będzie zawierać połączone wartości klucza i wartości.

// zadeklaruj tablicę asocjacyjną
$ Marks = ['01344' => 3.67, „01637” => 3.40, „05632” => 2.99, „03733” => 3.25];
// Wydrukuj wartości tablicy
Echo "Wartości tablicy asocjacyjnej:
";
print_r ($ marks);
/*
Zadeklarować funkcję zwrotną
Utwórz nową tablicę na podstawie kluczy i wartości
tablicy asocjacyjny
*/
Funkcja modyfigy_assoc_array ($ val1, $ val2)
Zwrot „CGPA Val1 to $ val2”;

Echo "

Wartości tablicy po wywołaniu funkcji Array_Map ():
";
// Wydrukuj nowe wartości tablicy
print_r (array_map ('modyfiy_assoc_array', array_keys ($ marks), array_values ​​($ marks)));
?>

Wyjście:

Następujące dane wyjściowe pojawią się po wykonaniu poprzedniego skryptu:

Wniosek

Różne zastosowania funkcji Array_Map () zostały wyjaśnione w tym samouczku. Mamy nadzieję, że ten artykuł może pomóc użytkownikom PHP poznać cel korzystania z tej funkcji i prawidłowego zastosowania w ich skrypcie. Sprawdź Linuxhint, aby uzyskać więcej artykułów pouczających.