array_keys - zwraca wszystkie klucze lub podzbiór kluczy z tablicy.
array array_keys ( array $tablica [, mixed $szukana_wartość = null [, bool $ścisłe_porównanie = false ]] )
array_keys() zwraca klucze, numeryczne i tekstowe, z tablicy.
Jeżeli opcjonalny parametr szukana_wartość został podany, to zwracane są klucze tylko dla tej wartości. W przeciwnym wypadku zwrócone zostaną wszystkie klucze z podanej tablicy.
$array = array(0 => 100, "kolor" => "czerwony"); print_r(array_keys($array)); echo '<br>'; $array = array("niebieski", "czerwony", "zielony", "niebieski", "niebieski"); print_r(array_keys($array, "niebieski")); echo '<br>'; $array = array("kolor" => array("niebieski", "czerwony", "zielony"), "rozmiar" => array("mały", "średni", "duży")); print_r(array_keys($array)); echo '<br>';
Array ( [0] => 0 [1] => kolor ) Array ( [0] => 0 [1] => 3 [2] => 4 ) Array ( [0] => kolor [1] => rozmiar )
$array = array('first'=>'111', 'second'=>'222', 'third'=>'333'); // get the first key: returns 'first' print array_shift(array_keys($array)); echo '<br>'; // get the last key: returns 'third' print array_pop(array_keys($array)); echo '<br>'; // get the first value: returns '111' print array_shift(array_values($array)); echo '<br>'; // get the last value: returns '333' print array_pop(array_values($array));
first third 111 333
Wyszukiwanie klucza tablicy na podstawie wartości:
$tablica1 = array("a" => "green", "brazowy" => "brown", "c" => "blue", "red"); function recursive_keys($input, $search_value = null){ $output = ($search_value !== null ? array_keys($input, $search_value) : array_keys($input)) ; foreach($input as $sub){ if(is_array($sub)){ $output = ($search_value !== null ? array_merge($output, recursive_keys($sub, $search_value)) : array_merge($output, recursive_keys($sub))) ; } } return $output ; } $c = recursive_keys($tablica1, "brown"); var_dump($c);
Otrzymamy pasujący klucz:
array (1) 0 => "brazowy" (7)
Usuwamy z tablicy wybrany element:
$tablica1 = array("a" => "green", "brazowy" => "brown", "c" => "blue", "red"); function array_remove(array $array, $value, $strict=false) { return array_diff_key($array, array_flip(array_keys($array, $value, $strict))); } $c = array_remove($tablica1, "brown"); var_dump($c);
Otrzymamy tablicę pomniejszoną o zredukowany element:
array (3) a => "green" (5) c => "blue" (4) 0 => "red" (3)
Wydobywamy same klucze z tablicy rysując je w tabelce, jako oznaczenie kolumn:
$tablica1 = array("a" => "green", "brazowy" => "brown", "c" => "blue", "red"); function show_keys($ar){ echo "<table width='100%' border='1' bordercolor='#6699CC' cellspacing='0' cellpadding='5'><tr valign='top'>"; foreach ($ar as $k => $v ) { echo "<td align='center' bgcolor='#EEEEEE'> <table border='2' cellpadding='3'><tr><td bgcolor='#FFFFFF'><font face='verdana' size='1'> " . $k . " </font></td></tr></table>"; if (is_array($ar[$k])) { show_keys ($ar[$k]); } echo "</td>"; } echo "</tr></table>"; } $c = show_keys($tablica1); var_dump($c);