web-dev-qa-db-ja.com

PHP:連想配列の印刷

PHPでは、このような連想配列があります

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

配列を通過して配列のキーと値にアクセスするforeachループを作成して、それらを操作できるようにする方法(言い換えると、whooneは2つの変数に割り当てられます$keyおよび$value

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

@Thiagoはすでにキーと対応する値にアクセスする方法について言及しています。これはもちろん正しい解決策です。

しかし、あなたが言うので

だから私はそれらを操作することができます

他の2つのアプローチを提案したい

  1. 値のみを操作する場合は、参照として値にアクセスします

    foreach ($array as $key => &$value) {
      $value = 'some new value';
    }
    
  2. キーと値の両方を操作したい場合は、別の方法で行ってください

    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