PHP の連想配列をループする
-
PHP で
foreach
ループを使用して連想配列をループしキーを取得する -
PHP で
foreach
ループでarray_keys()
関数を使用して連想配列からキーを取得する -
array_keys()
関数をfor
ループとともに使用して、PHP の連想配列からキーを取得する
この記事では、PHP で連想配列をループするいくつかの方法を紹介します。また、アレイからキーを取得する方法についても学習します。
PHP で foreach
ループを使用して連想配列をループしキーを取得する
PHP や、for
、while
、do...while
、foreach
などの他の一般的なプログラミング言語には多くのループステートメントがあります。これらの異なるループは、問題の性質に応じて使用されます。
foreach
ループを使用して、配列をループできます。foreach
ループは、配列の各要素を反復処理するのに適しています。
foreach
ループの構文を以下に示します。
foreach($array as $value){
statements
}
ここで、$array
は繰り返される配列であり、$value
は各反復における配列の項目です。
連想配列の foreach
ループを使用して、配列のキーと値をループすることもできます。連想配列は、配列の各項目のキーと値のペアを含む一種の配列です。
foreach
ループを使用して、配列アイテムのキーと値を取得できます。連想配列の foreach
ループ構文を以下に示します。
foreach($array as $key => $value){
statements
}
ここで、$key
は配列アイテムのインデックスであり、$value
はアイテムです。
次の手順と例は、連想配列をループして、配列から各キーを取得する方法を示しています。
-
キーと値として人の名前と年齢を使用して、連想配列
$age
を作成します。 -
次に、
foreach
ループを使用します。ここで、$age
は配列であり、$key
と$value
はforeach ($age as $key => $value)
としてのキーと値のペアです。 -
ループ内で
echo
関数を使用して、$key
を出力します。
サンプルコード:
<?php
$age = array("Paul"=>"35", "Brandon"=>"37", "Jack"=>"43");
foreach ($age as $key => $value) {
echo $key."<br>";
}
?>
出力:
Paul
Brandon
Jack
上記の例では、次の連想配列を使用しています。
Array ( [Paul] => 35 [Brandon] => 37 [Jack] => 43 )
人々の名前である配列のキーを印刷しました。それらは上の出力セクションで見ることができます。
PHP で foreach
ループで array_keys()
関数を使用して連想配列からキーを取得する
PHP には、引数として指定された配列からキーを選択する関数 array_keys()
が用意されています。次に、foreach
ループを使用してキーをループし、それらすべてを一覧表示できます。
array_keys()
関数の構文を以下に示します。
array_key($array, $search_value)
この関数は、キーの配列を返します。引数 $array
は、キーが抽出される配列です。
引数 search_value
は、特定の値を指定するキーを抽出するためのオプションの引数です。
例えば、
-
次のキーと値のペアを持つ連想配列
$nationality
について考えてみます。Array ( [Paul] => England [Brandon] => New Zealand [Jack] => Ireland )
-
変数
$names
を作成し、$nationality
を関数の引数としてarray_keys()
関数を割り当てます。 -
次に、
foreach
ループを使用して、$names
配列をループします。 -
ループ内で、
$names
配列の各項目を$name
値で出力します。
サンプルコード:
<?php
$nationality = array("Paul"=>"England", "Brandon"=>"New Zealand", "Jack"=>"Ireland");
$names =array_keys($nationality);
foreach ($names as $name) {
echo $name."<br>";
}
?>
上記の例では、$names
配列の出力は次のようになります。
Array ( [0] => Paul [1] => Brandon [2] => Jack ) Paul
したがって、$nationality
キーの配列を取得しました。foreach
ループを使用してこの配列をループし、各アイテムを抽出しました。
出力を以下に示します。
出力:
Paul
Brandon
Jack
このようにして、PHP の array_keys()
関数を使用して配列のキーを取得できます。
array_keys()
関数を for
ループとともに使用して、PHP の連想配列からキーを取得する
3 番目の方法は、for
ループを使用して 2 番目の方法を模倣します。for
ループと foreach
ループの違いは、for
ループの条件と反復回数を手動で指定できることです。
count()
関数を使用して配列の要素数をカウントし、反復回数を決定できます。array_keys()
関数は、2 番目のメソッドと同じです。
ここでは、上記の方法で使用したものと同じ連想配列を検討します。
-
array_keys()
関数をアレイに適用した後、for
ループを作成します。 -
count()
関数を使用して、$names
配列の長さをカウントします。 -
長さを使用して、
for
ループの終了条件を指定します。 -
カウンター
0
からループを開始します。 -
$i
変数で初期化します。 -
for
ループで変数$i
を1
でインクリメントします。 -
ループ内で、
$names
配列のインデックス$i
を使用して各アイテムを印刷します。
サンプルコード:
<?php
$nationality = array("Paul"=>"England", "Brandon"=>"New Zealand", "Jack"=>"Ireland");
$names =array_keys($nationality);
for($i=0; $i<count($names); $i++) {
echo $names[$i]."<br>";
}
?>
出力:
Paul
Brandon
Jack
このようにして、for
ループと array_keys()
を使用して、PHP の連想配列からキーを取得できます。
Subodh is a proactive software engineer, specialized in fintech industry and a writer who loves to express his software development learnings and set of skills through blogs and articles.
LinkedIn関連記事 - PHP Array
- PHP の foreach ループの最初と最後の要素を決定する方法
- PHP で配列を文字列に変換する方法
- PHP で配列の最初の要素を取得する方法
- PHP で配列をエコーまたは出力する方法
- PHP で配列から要素を削除する方法
- PHP で空の配列要素を削除する方法