gpt4 book ai didi

php - 递归获取数组的键并创建下划线分隔的字符串

转载 作者:可可西里 更新时间:2023-10-31 22:07:21 25 4
gpt4 key购买 nike

现在我得到了一个包含某种信息的数组,我需要从中创建一个表。例如

Student{
[Address]{
[StreetAddress] =>"Some Street"
[StreetName] => "Some Name"
}
[Marks1] => 100
[Marks2] => 50
}

现在我想创建包含字段名称的数据库表:

Student_Address_StreetAddress
Student_Address_StreetName
Student_Marks1
Student_Marks2

它应该是递归的,因此它可以从数组的任何深度创建我格式的字符串。

最佳答案

您可以使用 RecursiveArrayIteratorRecursiveIteratorIterator (以递归方式遍历数组)来自标准 PHP 库 ( SPL ) 以使这项工作相对轻松。

$iterator = new RecursiveIteratorIterator(new RecursiveArrayIterator($arr));
$keys = array();
foreach ($iterator as $key => $value) {
// Build long key name based on parent keys
for ($i = $iterator->getDepth() - 1; $i >= 0; $i--) {
$key = $iterator->getSubIterator($i)->key() . '_' . $key;
}
$keys[] = $key;
}
var_export($keys);

上面的例子输出如下:

array (
0 => 'Student_Address_StreetAddress',
1 => 'Student_Address_StreetName',
2 => 'Student_Marks1',
3 => 'Student_Marks2',
)

关于php - 递归获取数组的键并创建下划线分隔的字符串,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2749398/

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