The operating environment of this tutorial: windows7 system, PHP8 version, DELL G3 computer
Multidimensional array refers to an array containing one or more arrays.
PHP can understand multi-dimensional arrays of two, three, four or five levels or even more levels. However, arrays more than three levels deep are difficult for most people to manage.
Note: The dimensions of the array indicate the index number of elements you need to select.
A two-dimensional array is an array of arrays (a three-dimensional array is an array of arrays of arrays) ).
Brand |
Inventory |
Sales |
Volvo |
33 |
20 |
BMW |
17 |
15 |
Saab |
5 |
2 |
##Land Rover | 15 | 11 |
We can store the data in the above table in a two-dimensional array, like this:
$cars = array
(
array("Volvo",22,18),
array("BMW",15,13),
array("Saab",5,2),
array("Land Rover",17,15)
);
Now this two-dimensional array contains four arrays, and it has two indexes (subscripts): row and column.
To access an element in the $cars array we must use two indices (row and column):
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>";
?>
We can also use another For loop inside the For loop to get the elements in the $cars array (we still need to use two indexes):
<?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>";
}
?>
How to create a two-dimensional array:
The creation method of a two-dimensional array and a one-dimensional array is the same, just replace the elements in the array with Just an array. There are also two methods: "directly assigning values to array elements" and "array() function". Below we will introduce these two methods in detail with our actual code examples.
1. Directly assign values to array elements
We can use the form "$array variable name[row subscript][column subscript]= value ;
” format to create and initialize the two-dimensional array
<?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);
?>
Output result:
Row subscript of the two-dimensional array
and column subscripts
can be empty (that is, no specific index value is specified), then the default is a numeric index, and the index value increases sequentially starting from 0 by default.
Example 1: "Column subscript" is empty
<?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);
?>
Output result:
Example 2: "Row subscript" is Empty
<?php
header("Content-type:text/html;charset=utf-8");
$array[]['姓名'] = '张三';
$array[]['年龄'] = '25';
$array[]['性别'] = '男';
$array[]['姓名'] = '李四';
$array[]['年龄'] = '21';
$array[]['性别'] = '男';
$array[]['姓名'] = '娜娜';
$array[]['年龄'] = '22';
$array[]['性别'] = '女';
var_dump($array);
?>
Output result:
Example 3: "Row subscript" and "Column subscript" are both empty
<?php
header("Content-type:text/html;charset=utf-8");
$array[][] = '张三';
$array[][] = '25';
$array[][] = '男';
$array[][] = '李四';
$array[][] = '21';
$array[][] = '男';
$array[][] = '娜娜';
$array[][] = '22';
$array[][] = '女';
var_dump($array);
?>
Output result:
2. Use the array() function
Use the array() function to declare a two-dimensional array and declare a one-dimensional array Arrays are similar.
1) Index array
<?php
header("Content-type:text/html;charset=utf-8");
$array = array
(
array("张三",25,"男"),
array("李四",21,"男"),
array("娜娜",22,"女")
);
var_dump($array);
?>
Output result:
2) Associative array
Example 1 :
<?php
header("Content-type:text/html;charset=utf-8");
$array = array
(
"学生1"=>array("张三",25,"男"),
"学生2"=>array("李四",21,"男"),
"学生3"=>array("娜娜",22,"女")
);
var_dump($array);
?>
Output result:
Example 2:
<?php
header("Content-type:text/html;charset=utf-8");
$array = array
(
"学生1"=>array("姓名"=>"张三","年龄"=>25,"性别"=>"男"),
"学生2"=>array("姓名"=>"李四","年龄"=>21,"性别"=>"男"),
"学生3"=>array("姓名"=>"娜娜","年龄"=>22,"性别"=>"女")
);
var_dump($array);
?>
Output result:
Instructions: Get the elements in the two-dimensional array
Just need to indicate the subscript of each dimension
<?php
header("Content-type:text/html;charset=utf-8");
$array = array
(
array("姓名"=>"张三","年龄"=>25,"性别"=>"男"),
array("姓名"=>"李四","年龄"=>21,"性别"=>"男"),
array("姓名"=>"娜娜","年龄"=>22,"性别"=>"女")
);
echo $array[0]['姓名'].'同学的年龄为'.$array[0]['年龄'].'岁';
?>
Output result:
张三同学的年龄为25岁
2. Creation of multi-dimensional array
A multi-dimensional array is an array containing one or more arrays.
In a multi-dimensional array, each element in the main array can also be an array, and each element in the sub-array can also be an array.
With reference to the two-dimensional array, we can easily understand the creation method of the multi-dimensional array
Example: Creation of the three-dimensional array
<?php
header("Content-type:text/html;charset=utf-8");
$array = array(
'安徽' => array(
'合肥'=>array('蜀山区','长丰县','肥东'),
'宿州'=>array('墉桥区','灵璧县','泗县')
),
'河南' => array(
'洛阳'=>array('西工区','老城区','孟津县'),
'郑州市'=>array('中原区','金水区')
)
);
var_dump($array);
?>
Output result:
Recommended learning: "PHP Video Tutorial"
The above is the detailed content of What is a php multidimensional array?. For more information, please follow other related articles on the PHP Chinese website!