PHP关联数组

109 阅读3分钟

主要有两种类型的数组可以在任何编程语言中创建。一种是数字数组,另一种是关联数组。数组的每个值都可以通过该值的索引访问。对于数字数组来说,不需要定义索引值,如果没有定义索引,排序的数字索引会自动生成。如果需要为数组的每个索引创建一个特定的字符串值,那么就用关联数组来完成这个任务。

PHP关联数组在索引值中可以包含一个数字或同时包含数字和字符串。用户定义的索引在关联数组中使用。在PHP中,'=>'被用来分配关联数组的键值对。在本教程中展示了在PHP中定义和使用关联数组的方法。

前提条件

本教程的例子中使用的脚本是基于PHP 8版本编写的。在执行本脚本的例子之前,请完成以下任务。

  1. 安装 apache2 和 PHP 8。
  2. 为**/var/www/html** 文件夹下的所有文件和文件夹设置执行权限,所有的PHP文件将存放在该文件夹下。

例1:一维关联数组

用下面的脚本创建一个PHP文件来检查一维关联数组在PHP中的使用。在这个例子中,我们声明了一个有五个元素的关联数组,其中键包含客户的名字,值包含客户的余额。

在声明数组后,另外两个元素被添加到数组中。接下来,通过定义键值打印了一个特定的值,并通过使用循环打印了数组的所有键和相应的值。

900000, "Mehjabin Chowdhury"\=>780000, "Tania Bisti"\=>679000, "Arifin Suvho"\=>1000000, "Mossarof Korim"\=>980000); /增加两个元素 $customers\["Farin Tisa" \] \= 500000; $customers\["Sawon Chowdhury" \] \= 670000; /打印一个特定客户的信息 echo "特定客户的信息。
"; echo "Mehjabin Chowdhury的余额是:" . $customers\["Mehjabin Chowdhury" \]." taka.
"; //打印所有客户的信息 echo "
所有客户的信息。
"; foreach ($customers as $key=>$val) { echo "$key的余额是$valtaka.
"; } ?>

输出。

执行上述脚本后会出现以下输出。这里,文件名是array1.php,存储在**/var/www/html/code**文件夹内。

http://localhost/code/array1.php

例2:二维关联数组

二维数组是用来存储表格数据的。在PHP中通过在另一个数组中声明一个数组来创建一个二维数组。用下面的脚本创建一个PHP文件来检查二维关联数组在PHP中的使用。在这个例子中,已经声明了一个五行三列的二维关联数组。

脚本的外部数组是一个数字数组,内部数组是一个关联数组,包含了产品的ID、名称和价格作为键。接下来,特定产品和所有产品的细节已被打印出来。在这里,'

'标签被用来在输出中使用`echo'打印tab(\t)空格和换行(\n)。

"01", "name" \=> "Moniter", "price" \=> 200 ), array( "id" \=> "02", "name" \=> "Mouse", "price".\=> 5 ), array( "id" \=> "03", "name" => " 键盘" , "price" => 200 )键盘", "价格" \=> 50 ), array( "id" \=> "04", "name" \=> "HDD", "price" \=> 100 ), [array](http://www.php.net/array)( "id" \=> "05", "name" \=> "Scanner", "price" \=> 80 ) ); //打印第一个产品的信息 echo "第一个产品的信息是:
"; echo " ID: ".$products\[0\]\[ "id" \]."
"; echo "Name: ".$products\[0\]\[ "name"\]."
"; echo "Price: "."$".$products\[0\]\[ "price" \]."
"; //打印所有产品的信息 echo "
所有产品的信息是 :
"; echo "
ID\\tName\\tPrice\\n";  
foreach ($products as $records)  
{  
foreach ($records as $val)  
{  
echo $val." \\t";  
}  
echo " \\n";  
}  
  
  
echo "";  
  
?

**输出。**

执行上述脚本后会出现以下输出。这里,文件名是**array2.php**,存储在**/var/www/html/code**文件夹内。

[http://localhost/code/array2.php](http://localhost/code/array2.php)

![](https://p3-juejin.byteimg.com/tos-cn-i-k3u1fbpfcp/604daab7779a416791d405c23ae073aa~tplv-k3u1fbpfcp-zoom-1.image)

例3:混合索引的关联数组
------------

在前两个例子中,所有关联数组的键都包含字符串值,而值则包含字符串和数字的混合值。但是关联数组的键可以包含不同类型的值。用下面的脚本创建一个PHP文件,以检查混合索引值的一维关联数组在PHP中的使用。

在这个例子中,已经声明了一个有三个元素的关联数组,其中第一个键包含数字数据,后两个键包含字符串数据。接下来,一个计数器变量被用来识别数组中的每个元素,并根据计数器的值来打印格式化输出。数组中的每个元素在这里通过for循环进行迭代。

3.89, "department"\=>"EEE", "batch"\=>30);  
  
//初始化计数器  
$counter \= 0;  
//迭代阵列  
foreach ($mix\_array as $key \=> $val)  
{  
//根据计数器打印信息  
if($counter \== 0)  
echo "
$key的CGPA是$val
"; elseif($counter \== 1) echo "$keyname is$val
"; elseif($counter \== 2) echo "The$keyno.是$val
"; //增加计数器 $counter++; } ? **输出。** 执行上述脚本后会出现以下输出。这里,文件名是**array3.php**,存储在**/var/www/html/code**文件夹中。 [http://localhost/code/array3.php](http://localhost/code/array3.php) ![](https://p3-juejin.byteimg.com/tos-cn-i-k3u1fbpfcp/f53d551eff3e41ee9d2aec5a68629468~tplv-k3u1fbpfcp-zoom-1.image) 总结 -- 本教程通过实例解释了一维和二维关联数组在PHP中的简单使用。使用关联数组使脚本更容易理解,因为数组的键或索引值是由编码者定义的。由于PHP是一种弱类型的语言,所以支持数组的索引值和元素值的混合类型。我希望这个教程能帮助新的PHP用户在他们的脚本中正确使用关联数组。