[PHP] index key van een array

Pagina: 1
Acties:
  • 216 views sinds 30-01-2008
  • Reageer

Onderwerpen


Acties:
  • 0 Henk 'm!

Verwijderd

Topicstarter
Als ik een variable doorgeef naar de volgende pagina krijg ik de volgende
ouput met print_r :

Array ( [1] => 2 [value] => 2 [0] => 1 [key] => 1 )

Ik zou nu dus graag willen weten hoe ik de 'key' value kan uitlezen.

Ik dacht de commando key te hebben gevonden :

code:
1
echo key($var);


maar dit wil ook niet werken en op php.net heb ik zo'n beetje
alle voorbeelden doorgenomen maar het wil niet werken.

Weet iemand de oplossing ?

Acties:
  • 0 Henk 'm!

Verwijderd

Als je uitgaat van een enkele value dan moet je je array doorzoeken om de key terug te vinden met array_search.
Als je loopt over je array kan je keys verkrijgen met behulp van foreach:

foreach($arr as $key => $val) {
echo "$key => $val<br />";
}

Ook heb je nog array_keys($arr), hetwelk alle keys van het array teruggeeft in een nieuw (numeriek) array

hope this helps

Acties:
  • 0 Henk 'm!

Verwijderd

Topicstarter
Verwijderd schreef op 29 augustus 2004 @ 12:53:
Als je uitgaat van een enkele value dan moet je je array doorzoeken om de key terug te vinden met array_search.
Als je loopt over je array kan je keys verkrijgen met behulp van foreach:

foreach($arr as $key => $val) {
echo "$key => $val<br />";
}

Ook heb je nog array_keys($arr), hetwelk alle keys van het array teruggeeft in een nieuw (numeriek) array

hope this helps
Dit is de helpende hand die ik nodig had :)

(Achteraf misschien een basic vraag maar je moet er maar niet op kunnen komen.)

Acties:
  • 0 Henk 'm!

Verwijderd

Verwijderd schreef op 29 augustus 2004 @ 12:50:
Ik zou nu dus graag willen weten hoe ik de 'key' value kan uitlezen.

Ik dacht de commando key te hebben gevonden :

code:
1
echo key($var);


maar dit wil ook niet werken en op php.net heb ik zo'n beetje
alle voorbeelden doorgenomen maar het wil niet werken.
PHP:
1
  echo $var["key"];

Acties:
  • 0 Henk 'm!

Verwijderd

Verwijderd schreef op 29 augustus 2004 @ 13:43:
[...]


PHP:
1
  echo $var["key"];
Dat bedoelt ie niet, hij weet die "key" niet ;).
Verwijderd schreef op 29 augustus 2004 @ 13:59:
[...]


Uhh... dat kon ik niet uit de TS halen. Maar je hebt waarschijnlijk gelijk, want anders zou het natuurlijk belachelijk simpel zijn :).
Nouja, misschien weet ie em wel, maar hij wil de key van het item in een variabele hebben iig :).

[ Voor 50% gewijzigd door Verwijderd op 29-08-2004 14:04 ]


Acties:
  • 0 Henk 'm!

Verwijderd

Verwijderd schreef op 29 augustus 2004 @ 13:46:
[...]
Dat bedoelt ie niet, hij weet die "key" niet ;).
Uhh... dat kon ik niet uit de TS halen. Maar je hebt waarschijnlijk gelijk, want anders zou het natuurlijk belachelijk simpel zijn :).

Acties:
  • 0 Henk 'm!

  • Grijze Vos
  • Registratie: December 2002
  • Laatst online: 28-02 22:17
Het is sowieso belachelijk simpel, vooral als de TS de moeite zou nemen de php.net array functies eens door te nemen. (Link is hierboven al gegeven.)

Op zoek naar een nieuwe collega, .NET webdev, voornamelijk productontwikkeling. DM voor meer info


Acties:
  • 0 Henk 'm!

  • Koeniepoenie
  • Registratie: Oktober 2003
  • Laatst online: 15-09 21:46
De TS wil dus de key bij een bepaalde value.
Dat kan op meerdere manieren.
PHP:
1
2
3
4
5
6
7
$blaat = array('w' => 'woei', 'b' => 'blaat');
function getKey($ar, $value) {
  foreach($ar as $key => $val) {
    if ($val == $value) return $key;
  }
}
$deKey = getKey(&$blaat, 'woei');

Niet getest, maar behoort te werken ( :Y) )
Verder kun je ook array_walk() gebruiken.
PHP:
1
2
3
4
5
6
7
8
9
10
$waarde = '';
function getKey($ar, $val) {
  global $waarde;
  $waarde = $val;
  $eind = array_walk($ar, 'checkKey');
}
function checkKey($deWaarde, $key) {
  global $waarde; 
  if ($deWaarde == $waarde) return $key;
}

Bij deze code weet ik niet zeker of die wel helemaal werkt, maar goed ;)

Parse error: syntax error, unexpected GOT_USER in https://gathering.tweakers.net on line 1337


Acties:
  • 0 Henk 'm!

  • Bosmonster
  • Registratie: Juni 2001
  • Laatst online: 18-09 16:28

Bosmonster

*zucht*

TS is niet de enige die de array-functies eens door moet kijken :P


array_search


Searches the array for a given value and returns the corresponding key if successful

Acties:
  • 0 Henk 'm!

  • Grijze Vos
  • Registratie: December 2002
  • Laatst online: 28-02 22:17
Bosmonster schreef op 30 augustus 2004 @ 14:01:
TS is niet de enige die de array-functies eens door moet kijken :P


array_search


Searches the array for a given value and returns the corresponding key if successful
Laat ze dat nou mooi zelf zoeken. ;)

Op zoek naar een nieuwe collega, .NET webdev, voornamelijk productontwikkeling. DM voor meer info

Pagina: 1