php - 连接数组php的递归键
问题描述
我有一个这样的数组:
array(2) {
["xxx"]=>
array(2) {
["yyy"]=>
array(1) {
["text"]=> string(13) "test offline2"
}
["yyy2"]=>
array(1) {
["text"]=> string(12) "test offline"
}
}
["usual_name"]=> string(12) "test offline"
}
我想有一个像这样的新数组:
array(3) {
["xxx.yyy"]=> string(12) "test offline"
["xxx.yyy2"]=> string(12) "test offline"
["usual_name"]=> string(12) "test offline"
}
如果有人可以帮助我,请!
解决方案
试试这个:
$arr1 = array("xxx"=>array(
"yyy" => array("text" => "test offline2"),
"yyy2" => array("text"=> "test offline")
),
"usual_name" => "test offline"
);
$arr2 = array();
foreach ($arr1 as $key1 => $value1) {
if(is_array($value1)) {
foreach ($value1 as $key2 => $value2) {
if(is_array($value2))
{
foreach ($value2 as $key3 => $value3) {
$arr2[$key1.'.'.$key2]= $value3;
}
}
}
}
else {
$arr2[$key1]= $value1;
}
}
推荐阅读
- mocking - 使用空手道 API 测试容器化微服务
- android - 如何在 Windows 中手动设置 ANDROID_SDK_ROOT
- java - 计算登录页面按钮的位置
- wso2 - WSO2 APIM 3.1.0 与 Azure AD 的集成
- javascript - 在nodejs中序列化和压缩哈希图(对象)的最快方法?
- swift - SwiftUI Shape 不更新
- django - Django CBV 返回 JsonResponse?
- xslt - XSLT discrepancy with how variable is used
- docker - Ubuntu 上的 Headless Tor + Selenium WebDriver (Kotlin) + Docker
- php - 简单餐厅菜单功能的循环减少