【发布时间】:2021-08-14 14:14:18
【问题描述】:
我正在编写 API 文档,因此我正在解析示例 XML/JSOn 输出,并且需要找到所有命名键以添加定义。所以,我有一个这样的数组:
$array = [
"user" => [
"name" => "John",
"email" => "email@email.com",
"products" => [
0 => "product A",
1 => "product B"
],
"files" => [
"logo" => "/path/logo.jpg",
"profile" => "/path/profile.jpg"
]
],
"offer" => [
0 => "My offer"
]
];
我想从数组中提取所有键,无论其深度如何,并获得类似于:
$keys = [
0 => ["user"],
1 => ["user", "name"],
2 => ["user", "email"],
3 => ["user", "products"],
4 => ["user", "files"],
5 => ["user", "files", "logo"],
6 => ["user", "files", "profile"],
7 => ["offer"]
];
请注意,数字键被忽略,层次结构中仅包含命名键。我已经用谷歌搜索并试图找到可以做到这一点的东西,但我已经空白了。我已经尝试了一些函数链接,但我无法将我的头绕在循环上并正确返回。任何帮助表示赞赏!
【问题讨论】:
-
"我已经尝试了一些函数链",请告诉我们你的尝试!
-
@0stone0 不是真的,它忽略了第一级“用户”和“产品”并包括数字键,我看看我是否可以调整它。这与我自己的努力非常相似