Działania na tablicach w php
W artykule pokażę kilka przydatnych snippetów dotyczących działań na tablicach. 1. Dodawanie elementów do tablicy
$capitals = array( 'Alabama' => 'Montgomery', 'Alaska' => 'Juneau', 'Arizona' => 'Phoenix' ); $capitals['Arkansas'] = 'new';2. Usuwanie elementów
unset($capitals['Arkansas']);3. Łączenie tablic
$stateCapitals = array( 'Alabama' => 'Montgomery', 'Alaska' => 'Juneau', 'Arizona' => 'Phoenix' ); $countryCapitals = array ( 'Australia' => 'Canberra', 'Austria' => 'Vienna', 'Algeria' => 'Algiers' ); $capitals = array_merge($stateCapitals, $countryCapitals);4. Zamiana indeksów z wartościami
$capitals = array( 'Alabama' => 'Montgomery', 'Alaska' => 'Juneau', 'Arizona' => 'Phoenix' ); $states = array_flip($capitals); // $states = array( // 'Montgomery' => 'Alabama', // 'Juneau' => 'Alaska', // 'Phoenix' => 'Arizona' // );
function capitalize($element) { $element = strtolower($element); return ucwords($element); } $capitals = array( 'Alabama' => 'montGoMEry', 'Alaska' => 'Juneau', 'Arizona' => 'phoeniX' ); $capitals = array_map("capitalize", $capitals);6. Sortowanie tablicy po kluczach
$capitals = array( 'Arizona' => 'Phoenix', 'Alaska' => 'Juneau', 'Alabama' => 'Montgomery' ); ksort($capitals);7. Sprawdzenie czy wartość istnieje w tablicy
$capitals = array( 'Arizona' => 'Phoenix', 'Alaska' => 'Juneau', 'Alabama' => 'Montgomery' ); if (in_array("Juneau", $capitals)) { echo "Istnieje"; } else { echo "Nie istnieje"; }8. Sprawdzenie czy klucz istnieje w tablicy
$capitals = array( 'Arizona' => 'Phoenix', 'Alaska' => 'Juneau', 'Alabama' => 'Montgomery' ); if (array_key_exists("Alaska", $capitals)) { echo "Istnieje"; } else { echo "Nie istnieje"; }9. Przeszukiwanie tablicy
$capitals = array( 'Arizona' => 'Phoenix', 'Alaska' => 'Juneau', 'Alabama' => 'Montgomery' ); $state = array_search('Juneau', $capitals); // $state = 'Alaska'10. Biblioteka SPL
Biblioteka Standard Php Library oferuje przydatne webdeweloperem interfejsy, iteratory itp. Na przykład pokazana poniżej możliwość dostępu do obiektu jak do tablicy.
$capitals = array( 'Arizona' => 'Phoenix', 'Alaska' => 'Juneau', 'Alabama' => 'Montgomery' ); $arrayObject = new ArrayObject($capitals); foreach ($arrayObject as $state => $capital) { printf("The capital of %s is %s<br />", $state, $capital); } // The capital of Arizona is Phoenix // The capital of Alaska is Juneau // The capital of Alabama is Montgomery