array_keys()
函數用于返回數組中所有的鍵。但是,這個函數只能處理一維數組。要處理多維數組,您可以使用遞歸方法。下面是一個示例:
function array_keys_multi(array $input, string $parentKey = '') {
$keys = [];
foreach ($input as $key => $value) {
$currentKey = $parentKey ? $parentKey . '.' . $key : $key;
if (is_array($value)) {
$keys = array_merge($keys, array_keys_multi($value, $currentKey));
} else {
$keys[] = $currentKey;
}
}
return $keys;
}
// 示例多維數組
$multiArray = [
'a' => 1,
'b' => [
'c' => 2,
'd' => [
'e' => 3
]
],
'f' => 4
];
// 獲取多維數組的所有鍵
$keys = array_keys_multi($multiArray);
// 輸出結果
print_r($keys);
上述代碼會輸出以下結果:
Array
(
[0] => a
[1] => b.c
[2] => b.d.e
[3] => f
)
在這個示例中,我們定義了一個名為 array_keys_multi()
的函數,該函數接受一個多維數組作為輸入。我們使用遞歸方法遍歷數組的每個元素,并將當前鍵與父鍵連接起來。如果遇到一個子數組,我們將遞歸調用 array_keys_multi()
函數,并將結果合并到 $keys
數組中。最后,返回包含所有鍵的數組。