web-dev-qa-db-fra.com

PHP: Impression d'un tableau associatif

En PHP, j'ai un tableau associatif comme celui-ci

$a = array('who' => 'one', 'are' => 'two', 'you' => 'three');

Comment écrire une boucle foreach qui traverse le tableau et accéder à la clé et à la valeur du tableau afin de pouvoir les manipuler (en d'autres termes, je serais en mesure d'obtenir who et one affecté à deux variables $key et $value?

21
Tu Hoang
foreach ($array as $key => $value) {
    echo "Key: $key; Value: $value\n";
}
45
Thiago Silveira

@Thiago mentionne déjà la façon d'accéder à la clé et à la valeur correspondante. C'est bien sûr la solution correcte et préférée.

Cependant, parce que vous dites

donc je peux les manipuler

Je veux suggérer deux autres approches

  1. Si vous souhaitez uniquement manipuler la valeur, accédez-y comme référence

    foreach ($array as $key => &$value) {
      $value = 'some new value';
    }
    
  2. Si vous voulez manipuler à la fois la clé et la valeur, vous devriez aller dans un autre sens

    foreach (array_keys($array) as $key) {
      $value = $array[$key];
      unset($array[$key]); // remove old key
      $array['new key'] = $value; // set value into new key
    }
    
8
KingCrunch