Home > Article > Backend Development > What does multidimensional array in php mean?
The multi-dimensional array in php refers to the meaning of one or more arrays. For example, a two-dimensional array is a one-dimensional array with multiple one-dimensional arrays defined inside it. The dimensions of the array indicate the index number of the elements you need to select. , for example, a two-dimensional array requires two indexes to select elements, and a three-dimensional array requires three indexes to select elements.
The operating system of this tutorial: Windows10 system, PHP version 8.1.3, DELL G3 computer.
PHP - Multidimensional Array
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.
For a two-dimensional array, you need two indexes to select elements
For a three-dimensional array, you need three indexes to select an element
PHP - Two-dimensional array
Two-dimensional arrays are arrays of arrays (three-dimensional arrays are arrays of arrays of arrays).
First, let’s take a look at the table below:
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 indices (subscripts): row and column.
To access an element in the $cars array we must use two indices (row and column):
Example
<?phpheader("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>"; } ?>
two-dimensional Array creation method:
The two-dimensional array and one-dimensional array are created in the same way, just replace the elements in the array with 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 create and initialize two elements in the format of "$array variable name [row subscript] [column subscript] = value;" 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:
The row subscript and column subscript of the two-dimensional array can be empty (that is, no specific index value is specified) , then the default is a numeric index, and the index value starts from 0 and increases in sequence by default.
Example 1: "Column subscript" is empty
<?phpheader("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
Using the array() function to declare a two-dimensional array is similar to declaring a one-dimensional array.
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 arrayExample 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: Description: Get the elements in the two-dimensional array Just 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:
<?php header("Content-type:text/html;charset=utf-8"); $array = array( '安徽' => array( '合肥'=>array('蜀山区','长丰县','肥东'), '宿州'=>array('墉桥区','灵璧县','泗县') ), '河南' => array( '洛阳'=>array('西工区','老城区','孟津县'), '郑州市'=>array('中原区','金水区') ) ); var_dump($array); ?>Output result:
The above is the detailed content of What does multidimensional array in php mean?. For more information, please follow other related articles on the PHP Chinese website!