PHP は、2、3、4、5 レベル、あるいはそれ以上のレベルの多次元配列を理解できます。ただし、3 レベルを超える深さの配列は、ほとんどの人にとって管理が困難です。
ブランド |
在庫 |
売上 |
ボルボ |
33 |
20 |
BMW |
17 |
15 |
サーブ |
5 |
2 |
##ランドローバー | 15 | 11 |
上のテーブルのデータは、次のように 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>";
?>
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>";
}
?>
2 次元配列の作成方法:
2 次元配列と 1 次元配列の作成方法は同じで、要素を置き換えるだけです。 Just array を使用して配列に。また、「配列要素に直接値を代入する」方法と「array()関数を使用する」方法がありますので、実際のコード例を交えて詳しくご紹介します。
1. 配列要素に値を直接割り当てる
「$配列変数名[行の添字][列の添字]=」という形式を使用できます。 value ;
" 形式で 2 次元配列を作成および初期化します。
<?php
header("Content-type:text/html;charset=utf-8");
$array[0]['姓名'] = '张三';
$array[0]['年龄'] = '25';
$array[0]['性别'] = '男';
$array[1]['姓名'] = '李四';
$array[1]['年龄'] = '21';
$array[1]['性别'] = '男';
$array[2]['姓名'] = '娜娜';
$array[2]['年龄'] = '22';
$array[2]['性别'] = '女';
var_dump($array);
?>
出力結果:
2 つの行の添字次元配列
および 列添字
は空にすることができます (つまり、特定のインデックス値が指定されていません)。その場合、デフォルトは数値インデックスであり、インデックス値はデフォルトで 0 から順番に増加します。
例 1: 「列の添字」が空です
<?php
header("Content-type:text/html;charset=utf-8");
$array[0][] = '张三';
$array[0][] = '25';
$array[0][] = '男';
$array[1][] = '李四';
$array[1][] = '21';
$array[1][] = '男';
$array[2][] = '娜娜';
$array[2][] = '22';
$array[2][] = '女';
var_dump($array);
?>
出力結果:
例 2: 「行の添字」が空です
<?php
header("Content-type:text/html;charset=utf-8");
$array[]['姓名'] = '张三';
$array[]['年龄'] = '25';
$array[]['性别'] = '男';
$array[]['姓名'] = '李四';
$array[]['年龄'] = '21';
$array[]['性别'] = '男';
$array[]['姓名'] = '娜娜';
$array[]['年龄'] = '22';
$array[]['性别'] = '女';
var_dump($array);
?>
出力結果:
例 3:「行の添字」と「列の添字」が両方とも空です
<?php
header("Content-type:text/html;charset=utf-8");
$array[][] = '张三';
$array[][] = '25';
$array[][] = '男';
$array[][] = '李四';
$array[][] = '21';
$array[][] = '男';
$array[][] = '娜娜';
$array[][] = '22';
$array[][] = '女';
var_dump($array);
?>
出力結果:
#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);
?>
出力結果:
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);
?>
出力結果:
例 2:<?php
header("Content-type:text/html;charset=utf-8");
$array = array
(
"学生1"=>array("姓名"=>"张三","年龄"=>25,"性别"=>"男"),
"学生2"=>array("姓名"=>"李四","年龄"=>21,"性别"=>"男"),
"学生3"=>array("姓名"=>"娜娜","年龄"=>22,"性别"=>"女")
);
var_dump($array);
?>
出力結果:
手順: 2 次元配列の要素を取得します。
各次元の添字を指定するだけです<?php
header("Content-type:text/html;charset=utf-8");
$array = array
(
array("姓名"=>"张三","年龄"=>25,"性别"=>"男"),
array("姓名"=>"李四","年龄"=>21,"性别"=>"男"),
array("姓名"=>"娜娜","年龄"=>22,"性别"=>"女")
);
echo $array[0]['姓名'].'同学的年龄为'.$array[0]['年龄'].'岁';
?>
出力結果:
张三同学的年龄为25岁
2. 多次元配列の作成
多次元配列は、1 つ以上の配列を含む配列です。 多次元配列では、メイン配列の各要素も配列にすることができ、サブ配列の各要素も配列にすることができます。 2次元配列を参考にすると、多次元配列の作成方法がよくわかります例: 3次元配列の作成<?php
header("Content-type:text/html;charset=utf-8");
$array = array(
'安徽' => array(
'合肥'=>array('蜀山区','长丰县','肥东'),
'宿州'=>array('墉桥区','灵璧县','泗县')
),
'河南' => array(
'洛阳'=>array('西工区','老城区','孟津县'),
'郑州市'=>array('中原区','金水区')
)
);
var_dump($array);
?>
出力結果: 推奨学習:「PHP ビデオ チュートリアル 」