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'
// );
5. Edycja wartości w określony sposób
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