gpt4 book ai didi

php - 将目录结构转换为关联数组

转载 作者:搜寻专家 更新时间:2023-10-31 21:35:18 24 4
gpt4 key购买 nike

我有如下字符串

abc\xyz
abc\def\ghi

我需要它的关联数组格式

$array["abc"]["xyz"]
$array["abc"]["def"]["ghi"]

我正在用“\”字符分解字符串。

现在每一行都有一个数组。从这个我如何动态地得到上面的关联格式?

最佳答案

既然你已经明确你的数据来自于一些日志文件(即不是直接来自 FS,所以它甚至可能是非真实目录),你可以使用这个简单的方法来获取你的数组:

$data = 'abc\xyz
abc\def\ghi
abc\xyz\pqr';
//
$data = preg_split('/[\r\n]+/', $data);
$result = [];
$pointer = &$result;
foreach($data as $path)
{
$path = explode('\\', $path);
foreach($path as $key)
{
if(!isset($pointer[$key]))
{
$pointer[$key] = null;
$pointer = &$pointer[$key];
}
}
$pointer = &$result;
}

-这将导致:

array(3) {  ["abc"]=>  array(1) {    ["xyz"]=>    NULL  }  ["def"]=>  array(1) {    ["ghi"]=>    NULL  }  ["xyz"]=>  array(1) {    ["pqr"]=>    NULL  }}

关于php - 将目录结构转换为关联数组,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21548958/

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