ホームページ > バックエンド開発 > PHPの問題 > PHPの多次元配列とは何ですか?

PHPの多次元配列とは何ですか?

青灯夜游
リリース: 2023-03-17 19:00:02
オリジナル
1180 人が閲覧しました

PHP では、多次元配列とは 1 つ以上の配列を含む配列を指します。たとえば、2 次元配列は、内部に複数の 1 次元配列が定義された 1 次元配列です。配列の次元は、要素を選択するために必要なインデックスの数を示します。たとえば、2 次元配列では要素を選択するために 2 つのインデックスが必要で、3 次元配列では要素を選択するために 3 つのインデックスが必要です。

PHPの多次元配列とは何ですか?

このチュートリアルの動作環境: Windows7 システム、PHP8 バージョン、DELL G3 コンピューター

PHP - 多次元配列

多次元配列とは、1 つ以上の配列を含む配列を指します。

PHP は、2、3、4、5 レベル、あるいはそれ以上のレベルの多次元配列を理解できます。ただし、3 レベルを超える深さの配列は、ほとんどの人にとって管理が困難です。

注: 配列の次元は、選択する必要がある要素のインデックス番号を示します。

  • 2 次元配列の場合、要素を選択するには 2 つのインデックスが必要です。

  • 3 次元配列の場合、要素を選択するには 3 つのインデックスが必要です。要素を選択

PHP - 2 次元配列

2 次元配列は配列の配列です ( 3 次元配列は、配列の配列の配列です))。

まず、以下の表を見てみましょう:

##ランドローバー1511

上のテーブルのデータは、次のように 2 次元配列に格納できます。

$cars = array
  (
  array("Volvo",22,18),
  array("BMW",15,13),
  array("Saab",5,2),
  array("Land Rover",17,15)
  );
ログイン後にコピー

この 2 次元配列には 4 つの配列が含まれており、行と行の 2 つのインデックス (添え字) があります。カラム。

$cars 配列の要素にアクセスするには、2 つのインデックス (行と列) を使用する必要があります:

Example

<?php
header("Content-type:text/html;charset=utf-8");
$cars = array
   (
   array("Volvo",33,20),
   array("BMW",17,15),
   array("Saab",5,2),
   array("Land Rover",15,11)
   );
   
echo $cars[0][0].": 库存:".$cars[0][1].", 已售:".$cars[0][2].".<br>";
echo $cars[1][0].": 库存:".$cars[1][1].", 已售:".$cars[1][2].".<br>";
echo $cars[2][0].": 库存:".$cars[2][1].", 已售:".$cars[2][2].".<br>";
echo $cars[3][0].": 库存:".$cars[3][1].", 已售:".$cars[3][2].".<br>";
?>
ログイン後にコピー

PHPの多次元配列とは何ですか?

For ループ内で別の For ループを使用して $cars 配列の要素を取得することもできます (それでも 2 つのインデックスを使用する必要があります):

<?php
header("Content-type:text/html;charset=utf-8");
$cars = array
   (
   array("Volvo",33,20),
   array("BMW",17,15),
   array("Saab",5,2),
   array("Land Rover",15,11)
   );
   
for ($row = 0; $row <  4; $row++) {
   echo "<p><b>行数 $row</b></p>";
   echo "<ul>";
   for ($col = 0; $col <  3; $col++) {
     echo "<li>".$cars[$row][$col]."</li>";
   }
   echo "</ul>";
}
?>
ログイン後にコピー

PHPの多次元配列とは何ですか?

2 次元配列の作成方法:

2 次元配列と 1 次元配列の作成方法は同じで、要素を置き換えるだけです。 Just array を使用して配列に。また、「配列要素に直接値を代入する」方法と「array()関数を使用する」方法がありますので、実際のコード例を交えて詳しくご紹介します。

1. 配列要素に値を直接割り当てる

$配列変数名[行の添字][列の添字]=」という形式を使用できます。 value ;" 形式で 2 次元配列を作成および初期化します。

<?php
header("Content-type:text/html;charset=utf-8");
$array[0][&#39;姓名&#39;] = &#39;张三&#39;;
$array[0][&#39;年龄&#39;] = &#39;25&#39;;
$array[0][&#39;性别&#39;] = &#39;男&#39;;
$array[1][&#39;姓名&#39;] = &#39;李四&#39;;
$array[1][&#39;年龄&#39;] = &#39;21&#39;;
$array[1][&#39;性别&#39;] = &#39;男&#39;;
$array[2][&#39;姓名&#39;] = &#39;娜娜&#39;;
$array[2][&#39;年龄&#39;] = &#39;22&#39;;
$array[2][&#39;性别&#39;] = &#39;女&#39;;
var_dump($array);
?>
ログイン後にコピー

出力結果:

PHPの多次元配列とは何ですか?

2 つの行の添字次元配列 および 列添字 は空にすることができます (つまり、特定のインデックス値が指定されていません)。その場合、デフォルトは数値インデックスであり、インデックス値はデフォルトで 0 から順番に増加します。

例 1: 「列の添字」が空です

<?php
header("Content-type:text/html;charset=utf-8");
$array[0][] = &#39;张三&#39;;
$array[0][] = &#39;25&#39;;
$array[0][] = &#39;男&#39;;
$array[1][] = &#39;李四&#39;;
$array[1][] = &#39;21&#39;;
$array[1][] = &#39;男&#39;;
$array[2][] = &#39;娜娜&#39;;
$array[2][] = &#39;22&#39;;
$array[2][] = &#39;女&#39;;
var_dump($array);
?>
ログイン後にコピー

出力結果:

PHPの多次元配列とは何ですか?

例 2: 「行の添字」が空です

<?php
header("Content-type:text/html;charset=utf-8");
$array[][&#39;姓名&#39;] = &#39;张三&#39;;
$array[][&#39;年龄&#39;] = &#39;25&#39;;
$array[][&#39;性别&#39;] = &#39;男&#39;;
$array[][&#39;姓名&#39;] = &#39;李四&#39;;
$array[][&#39;年龄&#39;] = &#39;21&#39;;
$array[][&#39;性别&#39;] = &#39;男&#39;;
$array[][&#39;姓名&#39;] = &#39;娜娜&#39;;
$array[][&#39;年龄&#39;] = &#39;22&#39;;
$array[][&#39;性别&#39;] = &#39;女&#39;;
var_dump($array);
?>
ログイン後にコピー

出力結果:

PHPの多次元配列とは何ですか?

例 3:「行の添字」と「列の添字」が両方とも空です

<?php
header("Content-type:text/html;charset=utf-8");
$array[][] = &#39;张三&#39;;
$array[][] = &#39;25&#39;;
$array[][] = &#39;男&#39;;
$array[][] = &#39;李四&#39;;
$array[][] = &#39;21&#39;;
$array[][] = &#39;男&#39;;
$array[][] = &#39;娜娜&#39;;
$array[][] = &#39;22&#39;;
$array[][] = &#39;女&#39;;
var_dump($array);
?>
ログイン後にコピー

出力結果:

PHPの多次元配列とは何ですか?

#2. array() 関数を使用する

array() 関数を使用して 2 次元配列を宣言し、 1 次元配列 配列も同様です。

1) インデックス配列

<?php
header("Content-type:text/html;charset=utf-8");
$array = array
(
    array("张三",25,"男"),
    array("李四",21,"男"),
    array("娜娜",22,"女")
);
var_dump($array);
?>
ログイン後にコピー

出力結果:


PHPの多次元配列とは何ですか?

2) 連想配列

例1 :

<?php
header("Content-type:text/html;charset=utf-8");
$array = array
(
    "学生1"=>array("张三",25,"男"),
    "学生2"=>array("李四",21,"男"),
    "学生3"=>array("娜娜",22,"女")
);
var_dump($array);
?>
ログイン後にコピー

出力結果:

PHPの多次元配列とは何ですか?

例 2:

<?php
header("Content-type:text/html;charset=utf-8");
$array = array
(
    "学生1"=>array("姓名"=>"张三","年龄"=>25,"性别"=>"男"),
    "学生2"=>array("姓名"=>"李四","年龄"=>21,"性别"=>"男"),
    "学生3"=>array("姓名"=>"娜娜","年龄"=>22,"性别"=>"女")
);
 var_dump($array);
?>
ログイン後にコピー

出力結果:

PHPの多次元配列とは何ですか?

手順: 2 次元配列の要素を取得します。

各次元の添字を指定するだけです

<?php
header("Content-type:text/html;charset=utf-8");
$array = array
(
    array("姓名"=>"张三","年龄"=>25,"性别"=>"男"),
    array("姓名"=>"李四","年龄"=>21,"性别"=>"男"),
    array("姓名"=>"娜娜","年龄"=>22,"性别"=>"女")
);
 echo $array[0][&#39;姓名&#39;].&#39;同学的年龄为&#39;.$array[0][&#39;年龄&#39;].&#39;岁&#39;;
?>
ログイン後にコピー

出力結果:

张三同学的年龄为25岁
ログイン後にコピー

2. 多次元配列の作成

多次元配列は、1 つ以上の配列を含む配列です。

多次元配列では、メイン配列の各要素も配列にすることができ、サブ配列の各要素も配列にすることができます。

2次元配列を参考にすると、多次元配列の作成方法がよくわかります

例: 3次元配列の作成

<?php
header("Content-type:text/html;charset=utf-8");
$array = array(
        &#39;安徽&#39; => array(
            &#39;合肥&#39;=>array(&#39;蜀山区&#39;,&#39;长丰县&#39;,&#39;肥东&#39;),
			&#39;宿州&#39;=>array(&#39;墉桥区&#39;,&#39;灵璧县&#39;,&#39;泗县&#39;)
        ),
        &#39;河南&#39; => array(
            &#39;洛阳&#39;=>array(&#39;西工区&#39;,&#39;老城区&#39;,&#39;孟津县&#39;),
            &#39;郑州市&#39;=>array(&#39;中原区&#39;,&#39;金水区&#39;)
        )
);
 var_dump($array);
?>
ログイン後にコピー
出力結果:

PHPの多次元配列とは何ですか?

推奨学習:「

PHP ビデオ チュートリアル

ブランド 在庫 売上
ボルボ 33 20
BMW 17 15
サーブ 5 2

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

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