phpbar.de logo

Mailinglisten-Archive

[php] Mehrdimensionales Array prüfen ob Key existiert

[php] Mehrdimensionales Array prüfen ob Key existiert

Yannik Hampe yannik at cipher-code.de
Die Jul 24 20:30:00 CEST 2007



Norbert Pfeiffer wrote:
> Hallo Maik,
> 
> <?php
> function search_key($ARR, $key) {
>     foreach($ARR as $ky => $val) {
>         if (is_array($val)) {
>             $res = search_key($val, $key);
>             if ($res) {
>                 return $res;
>             }
>         } else {
>             if ($ky === $key) {
>                 return array($ky => $val);
>             }
>         }
>    }
>    return false;
> }
> 
> $TST = array(
> 1=>4711,
> 2=>array(
>     'r'=>'eins',
>     's'=>'zwei',
>     't'=>'drei'
>     ),
> 3=>'',
> 4=>0,
> 5=>array(
>     'u'=>'Anna',
>     'v'=>array(
>         'x'=>123.45,
>         'y'=>'Berlin',
>         'z'=>67.89
>         ),
>    'w'=>'Claus'
>    ),
> 6=>'foo'
> );
> 
> print_r($TST);
> print_r(search_key($TST, 'x'));
> ?>
> sollte alles finden was Du suchst,
> falls nicht - melde Dich einfach ...

var_dump(search_key($TST),5);
würde wohl in die Hose gehen...
Maik's Lösung war schon besser und kürzer :-).
> 
> 
> m. b. G.  Norbert

Yannik

php::bar PHP Wiki   -   Listenarchive