Avatar billede ipkiss_ Nybegynder
03. april 2003 - 17:57 Der er 7 kommentarer og
1 løsning

Finde value til en key i et array

Faktisk omvendt af array_search. Har ikke kunne finde en function til det...

Nogle forslag?
Avatar billede jakoba Nybegynder
03. april 2003 - 18:01 #1
det er den helt normale og almindelige:
  $value = $arrayet[ $key ];
Avatar billede ipkiss_ Nybegynder
03. april 2003 - 18:06 #2
Ok, glemte at sige at det er en multidimensionelt array. Der er dermed mange dybder forskellige steder, men jeg skal bare finde en bestemt key og især value til denne key.
Avatar billede sukos Juniormester
03. april 2003 - 18:09 #3
Avatar billede ipkiss_ Nybegynder
03. april 2003 - 18:11 #4
Hvad skulle det hjælpe at sortere arrayet?
Avatar billede jakoba Nybegynder
03. april 2003 - 18:24 #5
function search_for_key( $arr, $wantedkey ) {
    foreach ( $arr as $key -> $value ) {
        if ( $key == $vantedkey ) return $value;
        if ( gettype( $value ) == 'array' ) {
            $temp = search_for_key( $value, $wantedkey );
            if ( $temp !== null ) return $temp;
        }
    }
    return null;
}

men jeg tvivler på det er den du ønsker heller. dit spm giver mange muligheder.
Avatar billede jakoba Nybegynder
03. april 2003 - 18:25 #6
Ups  $wantedkey  er også med 'w' (dobbekt-v) i tredie linie
Avatar billede htm Nybegynder
03. april 2003 - 18:27 #7
Har du kigget i user_comments for array_search ???

Lille uddrag:

w dot neyndorff at xs4all dot nl
06-Jan-2003 09:16

I needed a function that searches for the key in the array and not for the value. I wanted to be able to search for keys in a multidimensional array so i made the function recursive:

function getElementvalue($array,$element) {
global $return;
while(list($key,$val) = each($array)) {
if (is_array($val)) getElementvalue($val,$element);
else if (trim($key)==$element) $return = trim($val);
}
return $return;
}

//Usage: $var will get the value of key "KeyToLookFor"
$var = getElementvalue($array,"KeyToLookFor")
Avatar billede ipkiss_ Nybegynder
03. april 2003 - 18:45 #8
Det er vist spisetid drenge ;)
Jeg brugte den fra user comments.
Tak for hjælpen til jer begge.
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Vi tilbyder markedets bedste kurser inden for webudvikling

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester