在PHP中,数组是一种非常常用的数据结构,主要分为两种类型:关联数组和索引数组。它们的区别主要体现在键(key)的类型和使用方式上。
示例:
$indexedArray = array("apple", "banana", "cherry");
// 或者
$indexedArray = ["apple", "banana", "cherry"];
在这个例子中,$indexedArray
是一个索引数组,键分别是 0
, 1
, 2
,对应的值是 "apple"
, "banana"
, "cherry"
。
示例:
$associativeArray = array("fruit1" => "apple", "fruit2" => "banana", "fruit3" => "cherry");
// 或者
$associativeArray = ["fruit1" => "apple", "fruit2" => "banana", "fruit3" => "cherry"];
在这个例子中,$associativeArray
是一个关联数组,键分别是 "fruit1"
, "fruit2"
, "fruit3"
,对应的值是 "apple"
, "banana"
, "cherry"
。
特性 | 索引数组 | 关联数组 |
---|---|---|
键的类型 | 整数(通常从0开始) | 字符串或整数(自定义) |
键的生成方式 | 自动生成,通常是连续的 | 自定义,不一定是连续的 |
使用场景 | 顺序存储数据(如列表、队列) | 映射关系(如字典、配置项) |
PHP中的数组是灵活的,同一个数组可以同时包含索引数组和关联数组的元素。这种数组称为混合数组。
示例:
$mixedArray = array(0 => "apple", "fruit2" => "banana", 2 => "cherry");
// 或者
$mixedArray = [0 => "apple", "fruit2" => "banana", 2 => "cherry"];
在这个例子中,$mixedArray
是一个混合数组,既有整数键 0
和 2
,也有字符串键 "fruit2"
。
无论是索引数组还是关联数组,都可以通过键来访问数组中的元素。
示例:
echo $indexedArray[0]; // 输出: apple
echo $associativeArray["fruit1"]; // 输出: apple
遍历数组时,可以使用 foreach
循环。
示例:
foreach ($indexedArray as $key => $value) {
echo "Key: $key, Value: $value\n";
}
foreach ($associativeArray as $key => $value) {
echo "Key: $key, Value: $value\n";
}
根据具体的需求选择合适的数组类型,可以更高效地处理数据。