ホームページ > バックエンド開発 > PHPの問題 > PHP二次元配列の詳しい解説と事例分析

PHP二次元配列の詳しい解説と事例分析

PHPz
リリース: 2023-04-19 10:39:01
オリジナル
1640 人が閲覧しました

PHP では、2 次元配列は非常に一般的に使用されるデータ構造タイプです。 2 次元配列はデータ テーブルを表すことができ、各行はデータ レコードを表し、各列は特定のデータ項目を表します。この記事では、PHPの2次元配列の概念や使い方、実際の開発と合わせた事例分析を詳しく解説します。

1. 2 次元配列とは何ですか?

PHP では、配列 (Array) は非常に一般的な基本的な変数の型です。配列には複数の値を格納でき、これらの値は配列の添字を通じてアクセスおよび変更できます。 2 次元配列は、複数の配列を格納する配列を指し、ネストされた各配列はデータの行を表します。つまり、配列には複数の配列が含まれ、各配列には複数の値が含まれます。類推すると、多次元配列は複数の 2 次元配列を含む配列として理解できます。

2 次元配列の宣言方法は非常に簡単で、配列変数名の後に角括弧を追加するだけです。例:

$students = array(

array('name'=>'张三', 'score'=>85),
array('name'=>'李四', 'score'=>90),
array('name'=>'王五', 'score'=>80)
ログイン後にコピー

);

2. PHP の 2 次元配列の使用

  1. Access two-次元配列要素

2 次元配列要素にアクセスする場合は、2 つの添え字を指定する必要があります。最初の添え字は行を示し、2 番目の添え字は列を示します。インデックスは 0 からカウントされます。例:

echo $students0; // 出力: Zhang San

上記の例では、$students[0] はテーブル全体の最初の行を表し、['name'] はテーブル全体の最初の行を表します。 1行目の「名前」列のデータです。したがって、コードは「Zhang San」を出力します。

  1. 2 次元配列の走査

ループ ステートメントを使用して 2 次元配列を走査できます。たとえば、次のようになります。

for($i =0;$i

echo $students[$i]['name'].'的成绩是:'.$students[$i]['score'].'
';

}

ループ ステートメントを使用して 2 次元配列を走査する場合は、次の点に注意してください:

  • まず、2 次元配列の各行 (最初の添字) を走査する必要があります。
  • 次に、各行の各列 (2 番目の添字) を走査して、アクセスを完了します。それぞれの要素に。

3. PHP 2 次元配列の事例分析

実際の開発で遭遇する可能性のある PHP 2 次元配列の適用事例をいくつか紹介します。これらの事例を通じて、PHP の 2 次元配列の使用法をより直感的に理解し、使いこなすことができます。

  1. 全員の成績に関する統計

クラスの成績を記録する 2 次元配列があるとします。データは次のとおりです:

$students = array(

array('name'=>'张三', 'score'=>85),
array('name'=>'李四', 'score'=>90),
array('name'=>'王五', 'score'=>80)
ログイン後にコピー

);

全員の結果をカウントし、Web ページに出力する必要があります。この要件は、配列を走査することで実現できます:

for($i=0;$i

echo $students[$i][&#39;name&#39;].&#39;的成绩是:&#39;.$students[$i][&#39;score&#39;].&#39;<br>';</p>
<p>}</p>
<p>上記のコードの出力結果は次のとおりです。 </p>
<p> Zhang San の成績は 85<br> Li Si の成績は 90<br> Wang Wu の成績は 80</p>
<ol start="2"><li>Calculate class Grade 平均スコア</li></ol>
<p>最初のケースでは、2 次元配列を走査する方法はすでにわかっています。クラスの平均スコアの計算は、配列を走査することによっても達成できます。 #$total_score = 0;</p>for($i=0;$i<count><pre class="brush:php;toolbar:false">$total_score += $students[$i]['score'];
ログイン後にコピー

}$avg_score = $total_score / count($students) );

echo 'クラススコアの平均スコア:'.$avg_score;

上記のコードの出力結果は次のとおりです:

クラススコアの平均スコア: 85

成績の高い順に並べ替える
  1. #2 番目のケースでは、クラスの平均点を計算する方法がすでにわかっています。この方法を使用して並べ替えることができます。

// まず各生徒の合計スコアを計算し、その合計スコアに従って並べ替えます。

for($i=0;$i< count($students);$i ) {

$students[$i][&#39;total_score&#39;] = $students[$i][&#39;score&#39;];
ログイン後にコピー

}

for($i=0;$i
for($j=0;$j<count($students)-1-$i;$j++) {
    if($students[$j][&#39;total_score&#39;] < $students[$j+1][&#39;total_score&#39;]) {
        $temp = $students[$j+1];
        $students[$j+1] = $students[$j];
        $students[$j] = $temp;
    }
}
ログイン後にコピー

}

// 並べ替えた結果を出力します

for($i=0;$i
echo $students[$i]['name'].':'.$students[$i]['score'].'分
';
}

出力上記のコードの結果は次のとおりです。

李四: 90 ポイント

Zhang San: 85 ポイント

Wang Wu: 80 ポイント

上記のケースを通じて、 PHP の 2 次元配列の使用は非常に柔軟であり、さまざまな問題を簡単に解決できます。実際の開発プロセスでは、プログラミングの効率とコードの品質を向上させるために、PHP の 2 次元配列と関連メソッドをさらに活用する必要があります。

以上がPHP二次元配列の詳しい解説と事例分析の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート