gpt4 book ai didi

php - 如何将数组键提取到数组 PHP 中的字符串

转载 作者:可可西里 更新时间:2023-10-31 23:31:41 26 4
gpt4 key购买 nike

我需要将关联数组键提取到字符串中并用“/”或任何字符/符号内爆。

例如:

$array = array([key1] => 
array([key11] =>
array([key111] => 'value111',
[key112] => 'value112',
[key113] => 'value113',
),
),
);

我需要一个如下数组的输出:

array([0] => 'key1/key11/key111',[1] => 'key1/key11/key112', [2] => 'key1/key11/key112');

最佳答案

我已经编辑了给出的答案 here并提出了以下代码。

function listArrayRecursive($someArray, &$outputArray, $separator = "/") {
$iterator = new RecursiveIteratorIterator(new RecursiveArrayIterator($someArray), RecursiveIteratorIterator::SELF_FIRST);
foreach ($iterator as $k => $v) {

if (!$iterator->hasChildren()) {
for ($p = array(), $i = 0, $z = $iterator->getDepth(); $i <= $z; $i++) {
$p[] = $iterator->getSubIterator($i)->key();
}
$path = implode($separator, $p);
$outputArray[] = $path;
}
}
}

$outputArray = array();
listArrayRecursive($array, $outputArray);
print_r($outputArray);

输入:

Array
(
[key1] => Array
(
[key11] => Array
(
[key111] => value111
[key112] => value113
[key113] => value113
)
)
)

输出:

Array
(
[0] => key1/key11/key111
[1] => key1/key11/key112
[2] => key1/key11/key113
)

关于php - 如何将数组键提取到数组 PHP 中的字符串,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18799152/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com