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 SPLBiblioteka 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
