PHPの連想配列にセットする方法とさらに追加する方法

  • このエントリーをはてなブックマークに追加
  • Pocket

スポンサードリンク

連想配列は、値とキーを両方設定できるため、より複雑な表現が可能です。

例えばプルダウンメニューを作る時はvalueにはキーを、表示用には値を別々に設定したり、「みかん => 68円」などといった連番以外のキーを使えるのは魅力ですね。

 

通常の配列に追加する方法はこちら

参考:PHPで配列に追加する主要な方法を比較

 

連想配列のセット方法

配列に1個ずつセットする

横浜 大阪 福岡

キーがkanagawaの値は横浜osaka大阪fukuoka福岡がセットされています。

通常の配列は$cities[0]、$cities[1]…という風に0番目から自動的に連番が振られますが、連想配列はキー[0]の部分を好きに設定できるので便利です。

 

ちなみに既にセット済みのキーを使い回すと上書きされてしまうため、注意しましょう。

神奈川

array関数を使い複数の値を一気にセットする

横浜 大阪 福岡

array()は以下のようにダブルアロー演算子を使い、キーと値をセットします。

array( キー => 値);

連想配列に値をセットする際はarray関数が便利ですね。

連想配列を1つずつ取り出す便利なforeach関数

上記の例で値を出力する際にechoを連続で使用していますが、あまりスマートな方法ではないでしょう。

配列の中身が1,000個とか1万個だったらどうでしょう?

そんな時はforeach()を使うことで、繰り返し処理により一気に配列の中身を全部吐き出してくれますので、かなり便利です。

以下で紹介していますので、配列を出力する際は是非使いたいですね。

PHPのforeachを使った配列処理を初心者向けに分かりやすく

値をセットした連想配列にさらに値を追加したい

既にセットした配列に値を追加すると、上書きされてしまうのは1-1でご紹介しましたね。

値をさらに追加する方法を2パターン紹介します。

複合代入演算子「+=」(プラスイコール)で追加する

参考:PHPの代入演算子で「=」よりもシンプルに代入する方法

array_merge関数で追加する

上記2パターンだと、既にセットしている値を上書きすることなく追加できました。

ただarray_merge()でキーを数値にした場合、キーを自動的に振り直してしまうため注意が必要です。

自動採番したくない場合は+などを使うようにしましょう。

通常の配列に追加する

通常の配列では+演算子や+=での代入ができません。

array_merge()で追加することはできますが、やや冗長に感じられるかもしれません。

通常の配列ではarray_push()や、[](角カッコ)による追加ができるため、これらが一般的です。

詳しくは、以下記事をご参照ください。

参考:PHPで配列に追加する主要な方法を比較

スポンサードリンク

  • このエントリーをはてなブックマークに追加
  • Pocket

コメントを残す

*