📜  如何遍历关联数组并获取PHP的键?(1)

📅  最后修改于: 2023-12-03 15:38:56.764000             🧑  作者: Mango

如何遍历关联数组并获取PHP的键?

在PHP中,使用关联数组(也称为哈希表或字典)时,有时需要遍历数组并获取数组的键。下面介绍几种用于实现这种功能的方法。

使用foreach循环
$arr = array(
    'name' => '张三',
    'age' => 18,
    'gender' => '男'
);

foreach ($arr as $key => $value) {
    echo $key . '<br>';
}

输出:

name
age
gender

使用foreach循环遍历关联数组时,通过$key => $value的形式可以获取键和对应的值。这种方式比较简单,适用于不需要对数组进行额外的处理时。同时,也可以通过foreach遍历后,将数组的键存储到一个新的数组中,以便稍后使用。

使用array_keys函数
$arr = array(
    'name' => '张三',
    'age' => 18,
    'gender' => '男'
);

$keys = array_keys($arr);

print_r($keys);

输出:

Array
(
    [0] => name
    [1] => age
    [2] => gender
)

array_keys函数可以返回一个包含给定数组所有键的新数组。使用这种方式可以非常方便地获取关联数组中的键,并且返回的是一个新数组。需要注意的是,如果原数组中有重复的键,则返回的新数组中只会包含一次对应的键。

使用array_map函数
$arr = array(
    'name' => '张三',
    'age' => 18,
    'gender' => '男'
);

$keys = array_map(function($value) {
    return $value;
}, array_keys($arr));

print_r($keys);

输出:

Array
(
    [0] => name
    [1] => age
    [2] => gender
)

array_map函数可以对给定数组中的每个元素执行回调函数,并返回一个新数组。使用这种方式可以将原数组中的键存储到一个新数组中,并且在使用array_map函数时,可以在回调函数中直接返回元素本身。

以上就是几种获取PHP关联数组键的方法,适用于不同的场景。需要注意的是,在遍历关联数组时,如果原数组中有重复的键,则后面的值会覆盖前面的值。