login  Naam:   Wachtwoord: 
Registreer je!
 Forum

array AND the key

Offline Stijn - 07/04/2005 17:35
Avatar van StijnPHP expert hallo

  1. <?php
  2. $var = array("d" => "dag", "j" => "jan");
  3. //normaal gaan we de waarde opvragen
  4. echo $var['d'];
  5. //maar ik zou graag de key opvragen
  6. echo $var['dag']; //dit werkte niet
  7. //weet er iemand zelf misschien hoe ik dit kan doen??
  8. ?>


uitleg in comments,

groeten stijn 

7 antwoorden

Gesponsorde links
Offline Thomas - 07/04/2005 17:45 (laatste wijziging 07/04/2005 17:46)
Avatar van Thomas Moderator De key ? Welke keys ? Alle keys ? Of de key(s) die bij een bepaalde waarde hoort (horen) (er kunnen meerdere keys zijn die dezelfde waarde hebben) ?

Je hebt een functie array_keys($je_array) die je alle keys (als values) teruggeeft.

Dus array_keys($var) zou het volgende opleveren:

  1. 0 => "d",
  2. 1 => "j"
  3. )
Offline flance - 07/04/2005 17:51
Avatar van flance HTML interesse IK snap de vraag überhaubt niet. Je wilt de waarde opvragen als je de waarde tussen de vierkant-haakjes zet. Dan heb je die arrray toch helemaal niet nodig? Of wil je de key en de value wisselen?
Dan moet je zoiets als dit gebruiken:
  1. <?php
  2. function inverse_array($aArray)
  3. {
  4. if(!is_array($aArray))
  5. {
  6. RETURN FALSE;
  7. }
  8. $aNew = array();
  9. foreach($aArray AS $key => $value)
  10. {
  11. $aNew[$value] = $key;
  12. }
  13. RETURN $aNew;
  14. }
  15. ?>

en dan:
  1. <?php
  2. $var = array("d" => "dag", "j" => "jan");
  3. echo $var['dag']; //geeft d
  4. ?>
Offline Thomas - 07/04/2005 17:57 (laatste wijziging 07/04/2005 18:00)
Avatar van Thomas Moderator Gevaarlijk als dezelfde values meerdere keren voorkomen... Je gaat dan waarden overschrijven...

  1. $test = array();
  2. $test['aap'] = "een";
  3. $test['noot'] = "twee";
  4. $test['mies'] = "een";


Jouw omdraaifunctie levert dan waarschijnlijk:

  1. "een" => "mies"
  2. "twee" => "aap"
  3. )
Offline Stijn - 07/04/2005 18:06
Avatar van Stijn PHP expert ik heb zoiets maar hij echo niet 

  1. <?php
  2. $keys = array_keys($landen);
  3. $key = $keys[$land];
  4. ?>
Offline uhuh - 07/04/2005 18:11
Avatar van uhuh HTML interesse http://php.net/array_search
Offline Fenrir - 07/04/2005 18:25
Avatar van Fenrir PHP expert 1. zet erboven: error_reporting(E_ALL) (eigenlijk boven elk script)
2. wat staat er in $land?
Offline Stijn - 07/04/2005 19:27 (laatste wijziging 07/04/2005 19:37)
Avatar van Stijn PHP expert @Flance:

>> hoe gebruik je die functie van jou dan :?:

[edit:]

heb het gevonden, wel een andere functie ;)
  1. <?php
  2. $landen = array("nl" => "Nederland", "be" => "België");
  3. $keys = array_flip($landen);
  4. $key = $keys['België'];//output zal be zijn
  5. ?>


groeten stijn 
Gesponsorde links
Dit onderwerp is gesloten.
Actieve forumberichten
© 2002-2024 Sitemasters.be - Regels - Laadtijd: 0.238s