📜  php多维数组按键获取所有值 - PHP(1)

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

PHP多维数组按键获取所有值

在PHP中,多维数组是一种包含其他数组或值的数组。有时候我们需要按键获取多维数组中的所有值,本文将介绍几种实现方式。

方法一:递归遍历
function getAllValues($array) {
    $values = [];
    foreach ($array as $value) {
        if (is_array($value)) {
            $values = array_merge($values, getAllValues($value));
        } else {
            $values[] = $value;
        }
    }
    return $values;
}

上述代码会递归遍历多维数组,检查每个元素是否为数组。如果是数组,则继续递归调用函数;如果是值,则将其添加到结果数组中。最后返回包含所有值的数组。

方法二:使用array_walk_recursive函数
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中处理多维数组时按键获取所有值的问题。