📅  最后修改于: 2023-12-03 15:18:34.200000             🧑  作者: Mango
在PHP中,多维数组是一种包含其他数组或值的数组。有时候我们需要按键获取多维数组中的所有值,本文将介绍几种实现方式。
function getAllValues($array) {
$values = [];
foreach ($array as $value) {
if (is_array($value)) {
$values = array_merge($values, getAllValues($value));
} else {
$values[] = $value;
}
}
return $values;
}
上述代码会递归遍历多维数组,检查每个元素是否为数组。如果是数组,则继续递归调用函数;如果是值,则将其添加到结果数组中。最后返回包含所有值的数组。
function getAllValues($array) {
$values = [];
array_walk_recursive($array, function($value) use (&$values) {
$values[] = $value;
});
return $values;
}
通过使用array_walk_recursive
函数,我们可以遍历多维数组中的每个元素,并将其添加到结果数组中。
$myArray = [
'A' => [
'B' => ['Value 1', 'Value 2'],
'C' => 'Value 3'
],
'D' => 'Value 4'
];
$result = getAllValues($myArray);
print_r($result);
运行上述代码,将会输出以下结果:
Array
(
[0] => Value 1
[1] => Value 2
[2] => Value 3
[3] => Value 4
)
以上两种方法都能够获得多维数组按键获取的所有值,你可以选择其中一种根据自己的需求来使用。
希望本文能帮助到你在PHP中处理多维数组时按键获取所有值的问题。