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