Notatki PHP

prywatne zapiski na kamieniu

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 !== nullarray_keys($input, $search_value) : array_keys($input)) ;
        foreach($input as $sub){
            if(is_array($sub)){
                $output = ($search_value !== nullarray_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);