gpt4 book ai didi

php - 如何在 php 中用动态数组键创建字符串?

转载 作者:可可西里 更新时间:2023-11-01 00:39:05 25 4
gpt4 key购买 nike

这个数组是动态的,可以有任意数量的记录,可以有任意级别的嵌套数组:

Array
(
[name] => richard
[email] => richard@gmail.com
[address] => Array
(
[city] => paris
[zip] => 12121
)

[address1] => Array
(
[city] => paris
[zip] => 12121
)

[address3] => Array
(
[city] => paris
[zip] => 12121

)

)

我正在尝试从嵌套的数组键构造一个字符串。我需要使用循环从键构造这样的字符串:

结果应该是这样的:

 address.city
address.zip
address1.city
address1.zip....so on

如何使用递归实现?

最佳答案

这个递归函数会做你想做的。它检查数组当前级别的每个项目,如果它是一个数组,则将当前键附加到该数组的所有键,根据需要递归。如果项目不是数组,它的键只是附加到该级别的输出。

function list_keys($array) {
$output = array();
foreach ($array as $k => $v) {
if (is_array($v)) {
foreach (list_keys($v) as $path) {
$output[] = "$k.$path";
}
}
else {
$output[] = $k;
}
}
return $output;
}

print_r(list_keys($array));

输出(用于您的示例数据)

Array (
[0] => name
[1] => email
[2] => address.city
[3] => address.zip
[4] => address1.city
[5] => address1.zip
[6] => address3.city
[7] => address3.zip
)

Demo on 3v4l.org

关于php - 如何在 php 中用动态数组键创建字符串?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54583666/

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