在 PHP 中,关联数组用于以键值对的形式存储数据。它用于在单个变量中保存多个键值对。

创建关联数组

可以使用 array() 关键字创建关联数组。它可以在创建时通过在 array() 关键字内指定键值对并用逗号 (,) 分隔来初始化,也可以稍后通过使用键指定值来初始化。

或者,[ ] 也可以用来代替 array()。

语法

//创建一个空的关联数组
$MyArray = array();  
$MyArray = []; 

//创建关联数组并初始化
$MyArray = array(key1=>value1, key2=>value2, ...); 
$MyArray = [key1=>value1, key2=>value2, ...]; 

//创建数组后初始化
$MyArray[key] = value; 

访问关联数组的元素

可以使用以下键方式访问关联数组的元素。下面的示例说明了访问关联数组中的数据的方式。

<?php
//创建一个包含3个元素的数组
$MyArray = array(101=>"Red", 
                 102=>"Blue", 
                 103=>"Green");

//添加第四个和第五个元素
$MyArray[104] = "Black";
$MyArray[105] = "White";

echo "101 => ".$MyArray[101]."\n";
echo "102 => ".$MyArray[102]."\n";
echo "103 => ".$MyArray[103]."\n";
echo "104 => ".$MyArray[104]."\n";
echo "105 => ".$MyArray[105]."\n";
?> 

上述代码的输出将是:

101 => Red
102 => Blue
103 => Green
104 => Black
105 => White 

修改键的值

关联数组的任何键的值都可以使用其键并分配新值来更改。

<?php
$MyArray = array(101=>"Red", 
                 102=>"Blue", 
                 103=>"Green");

//改变键的值
$MyArray[101] = "Yellow";

//显示数组
print_r($MyArray);
?> 

上述代码的输出将是:

Array
(
    [101] => Yellow
    [102] => Blue
    [103] => Green
) 

循环关联数组

通过使用 foreach 循环,可以访问关联数组的每个元素。考虑下面的示例:

<?php
$MyArray = array();

$MyArray[101] = "Red";
$MyArray[102] = "Blue";
$MyArray[103] = "Green";  

echo "MyArray contains: \n";
foreach($MyArray as $x => $x_value)
  echo "Key=". $x ." Value=". $x_value."\n";
?> 

上述代码的输出将是:

MyArray contains: 
Key=101 Value=Red
Key=102 Value=Blue
Key=103 Value=Green 

访问双引号内的数组

关联数组中的值可以通过将其括在大括号内,可以在双引号内访问。请参阅下面的示例:

<?php
$arr = array('name' => 'John', 
             'age' => 25);

//在双引号内使用数组元素
echo "{$arr['name']} is {$arr['age']} years old.";
?> 

上述代码的输出将是:

John is 25 years old. 

完整的 PHP 数组参考

有关所有 PHP 数组函数的完整参考,请参阅完整的 PHP 数组参考。