PHP - 数组

数组是一种数据结构,它在一个值中存储一个或多个相似类型的值.例如,如果要存储100个数字,而不是定义100个变量,则可以轻松定义100个长度的数组.

有三种不同类型的数组,每个数组值都可以使用ID c,称为数组索引.

  • 数字数组 : 带有数字索引的数组.值以线性方式存储和访问.

  • 关联数组 : 一个以字符串作为索引的数组.这会将元素值与键值相关联而不是以严格的线性索引顺序存储.

  • 多维数组 : 使用多个索引访问包含一个或多个数组和值的数组

注意 : 内置数组函数在函数参考 PHP数组函数

数值数组

这些数组可以存储数字,字符串和任何对象,但它们的索引将由数字表示.默认情况下,数组索引从零开始.

示例

以下是显示如何创建和访问数字数组的示例.

这里我们使用 array()函数来创建数组.此功能在功能参考中说明.

在线演示

<html>
   <body>
   
      <?php
         /* First method to create array. */
         $numbers = array( 1, 2, 3, 4, 5);
         
         foreach( $numbers as $value ) {
            echo "Value is $value <br />";
         }
         
         /* Second method to create array. */
         $numbers[0] = "one";
         $numbers[1] = "two";
         $numbers[2] = "three";
         $numbers[3] = "four";
         $numbers[4] = "five";
         
         foreach( $numbers as $value ) {
            echo "Value is $value <br />";
         }
      ?>
      
   </body>
</html>

这将产生以下结果 :

Value is 1 
Value is 2 
Value is 3 
Value is 4 
Value is 5 
Value is one 
Value is two 
Value is three 
Value is four 
Value is five

关联数组

关联数组非常相似在功能方面的数字数组,但它们的索引不同.关联数组将其索引作为字符串,以便您可以在键和值之间建立强关联.

要将员工的工资存储在数组中,数字索引的数组将不是最好的选择.相反,我们可以使用员工姓名作为关联数组中的键,值将是他们各自的薪水.

注意 : 在打印时不要将关联数组保留在双引号内,否则它不会返回任何值.

示例

<html>
   <body>
      
      <?php
         /* First method to associate create array. */
         $salaries = array("mohammad" => 2000, "qadir" => 1000, "zara" => 500);
         
         echo "Salary of mohammad is ". $salaries['mohammad'] . "<br />";
         echo "Salary of qadir is ".  $salaries['qadir']. "<br />";
         echo "Salary of zara is ".  $salaries['zara']. "<br />";
         
         /* Second method to create array. */
         $salaries['mohammad'] = "high";
         $salaries['qadir'] = "medium";
         $salaries['zara'] = "low";
         
         echo "Salary of mohammad is ". $salaries['mohammad'] . "<br />";
         echo "Salary of qadir is ".  $salaries['qadir']. "<br />";
         echo "Salary of zara is ".  $salaries['zara']. "<br />";
      ?>
   
   </body>
</html>

这将产生以下结果 :

Salary of mohammad is 2000
Salary of qadir is 1000
Salary of zara is 500
Salary of mohammad is high
Salary of qadir is medium
Salary of zara is low

多维数组

一个多维数组,主数组中的每个元素也可以是一个数组.子数组中的每个元素都可以是数组,依此类推.使用多个索引访问多维数组中的值.

示例

在此示例中,我们创建一个二维数组来存储三个标记三个学科的学生 :

这个例子是一个关联数组,你可以用同样的方式创建数字数组.

<html>
   <body>
      
      <?php
         $marks = array( 
            "mohammad" => array (
               "physics" => 35,
               "maths" => 30,	
               "chemistry" => 39
            ),
            
            "qadir" => array (
               "physics" => 30,
               "maths" => 32,
               "chemistry" => 29
            ),
            
            "zara" => array (
               "physics" => 31,
               "maths" => 22,
               "chemistry" => 39
            )
         );
         
         /* Accessing multi-dimensional array values */
         echo "Marks for mohammad in physics : " ;
         echo $marks['mohammad']['physics'] . "<br />"; 
         
         echo "Marks for qadir in maths : ";
         echo $marks['qadir']['maths'] . "<br />"; 
         
         echo "Marks for zara in chemistry : " ;
         echo $marks['zara']['chemistry'] . "<br />"; 
      ?>
   
   </body>
</html>

这将产生以下结果 :

Marks for mohammad in physics : 35
Marks for qadir in maths : 32
Marks for zara in chemistry : 39