PHP の連想配列をループする

Subodh Poudel 2023年1月30日
  1. PHP で foreach ループを使用して連想配列をループしキーを取得する
  2. PHP で foreach ループで array_keys() 関数を使用して連想配列からキーを取得する
  3. array_keys() 関数を for ループとともに使用して、PHP の連想配列からキーを取得する
PHP の連想配列をループする

この記事では、PHP で連想配列をループするいくつかの方法を紹介します。また、アレイからキーを取得する方法についても学習します。

PHP で foreach ループを使用して連想配列をループしキーを取得する

PHP や、forwhiledo...whileforeach などの他の一般的なプログラミング言語には多くのループステートメントがあります。これらの異なるループは、問題の性質に応じて使用されます。

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$valueforeach ($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 ループで変数 $i1 でインクリメントします。
  • ループ内で、$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 Poudel
Subodh Poudel avatar Subodh Poudel avatar

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 Loop