Home  >  Article  >  Backend Development  >  There are several types of arrays in php

There are several types of arrays in php

zbt
zbtOriginal
2023-06-12 11:33:53915browse

Types of php arrays: 1. Index array, which stores a series of organized single or multiple values, and the subscript is a number; 2. Associative array, which is an array with a special indexing method, and the subscript is a character ; 3. Multidimensional array, a concept in data structure, an array above a two-dimensional array, an array containing one or more arrays.

There are several types of arrays in php

The operating environment of this tutorial: windows10 system, php8.1.3 version, DELL G3 computer.

An array is a collection of data that organizes a series of data to form an operable whole. Arrays in PHP are complex but more flexible than arrays in many other high-level languages.

Array An array is an ordered set of variables, where each value is called an element. Each element is distinguished by a special identifier called a key (also called a subscript).

Each entity in the array contains two items, namely key and value. The corresponding array elements can be obtained by key value. These keys can be numeric keys or association keys. If a variable is a container that stores a single value, then an array is a container that stores multiple values.

PHP arrays are more flexible than arrays in other high-level languages. They not only support index arrays with numbers as keys, but also support associative arrays with strings or a mixture of strings and numbers as keys. In other high-level languages, such as Java or C, only numerically indexed arrays are supported.

The structure of the PHP array is as shown below:

Type of php array

Index array: The subscript of the array is a number;

Associative array: An array whose subscript is a character is an associative array;

Multidimensional array: an array containing one or more arrays;

Note: Arrays in PHP are actually index-insensitive. Or associative array, the corresponding key value is found based on the key name

1, index array

The index array stores a series of organized single or multiple values. Each of these values ​​can be accessed using an unsigned integer value. The keys of the index array are integers and start from 0 and so on.

Index array initialization example:

<?php 
//创建一个索引数组,索引数组的键是“0”,值是“苹果” 
$fruit=array("苹果","香蕉"); 
print_r($fruit); 
?>

Running result:

Array
(
    [0] => 苹果
    [1] => 香蕉
)

Three assignment methods for index array:

array[0]=&#39;苹果&#39;;
$arr=array(&#39;0&#39;=>&#39;苹果&#39;);
$arr=array(&#39;苹果&#39;);

Example:

<?php 
//请创建一个数组变量arr,并尝试创建一个索引数组,键是0,值是苹果 
$arr=array(0=>&#39;苹果&#39;); 
if( isset($arr) ) {print_r($arr);} 
?>

You can use for and foreach to access the elements in the array, because for is easier. Here are just examples of using foreach,

<?php 
$fruit=array(&#39;苹果&#39;,&#39;香蕉&#39;,&#39;菠萝&#39;); 
foreach($fruit as $key=>$value){ 
    echo &#39;<br>第&#39;.$key.&#39;值是:&#39;.$value; 
} 
   
?>

Running results:

第0值是:苹果
第1值是:香蕉
第2值是:菠萝

Note: Here $key is the key The value $value is the element value

2. Associative array

"Associative array" is an array with a special indexing method. Index it using a string or other type of value (except NULL).

In fact, the difference between associative arrays and index arrays is only in the key value. The key value of the associative array is a string, and it is an artificial regulation, for example:

<?php 
//创建一个关联数组,关联数组的键“orange”,值是“橘子” 
$fruit=array(&#39;orange&#39;=>&#39;橘子&#39;); 
echo $fruit[&#39;orange&#39;]; 
?>

The rest of the initialization, assignment, foreach The usage is basically the same.

3. Multi-dimensional array

Concept in data structure, arrays above two-dimensional arrays, arrays that are neither linear nor planar become multi-dimensional arrays.

<?php
    $arr = 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;,&#39;长丰县&#39;,&#39;肥东&#39;)
        ),
        &#39;河南&#39; => array(
            &#39;洛阳&#39;=>array(&#39;西工区&#39;,&#39;老城区&#39;,&#39;孟津县&#39;),
            &#39;郑州市&#39;=>array(&#39;中原区&#39;,&#39;金水区&#39;)
        )
    );
    print_r($arr);
    echo $arr[&#39;安徽&#39;][&#39;宿州&#39;][0];  // 输出墉桥区
?>

Among them, "Anhui" corresponds to a two-dimensional array, "Fuyang", "Suzhou" and "Hefei" respectively correspond to a one-dimensional array; similarly, "Henan" also corresponds to a two-dimensional array. "Anhui" and "Henan" respectively correspond to a two-dimensional array, and they are combined to form a three-dimensional array. There is no fixed upper limit for multi-dimensional arrays in PHP, but as the number of dimensions increases, the array will become more and more complex, making it slightly more difficult to read, debug and maintain. The result of the above program is:

Array
(
    [安徽] => Array
        (
            [阜阳] => Array
                (
                    [0] => 阜南县
                    [1] => 临泉县
                    [2] => 颍州区
                )
            [宿州] => Array
                (
                    [0] => 墉桥区
                    [1] => 灵璧县
                    [2] => 泗县
                )
            [合肥] => Array
                (
                    [0] => 蜀山区
                    [1] => 长丰县
                    [2] => 肥东
                )
        )
    [河南] => Array
        (
            [洛阳] => Array
                (
                    [0] => 西工区
                    [1] => 老城区
                    [2] => 孟津县
                )
            [郑州市] => Array
                (
                    [0] => 中原区
                    [1] => 金水区
                )
        )
)
墉桥区

The above is the detailed content of There are several types of arrays in php. For more information, please follow other related articles on the PHP Chinese website!

Statement:
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn