Omiid
تازه وارد
سلام
من دارم روی یه کدی کار میکنم که یه آدرس رو میگیره و به صورت آرایه های تو در تو خروجی بده
چیزی که فعلا بهش رسیدم اینه
$strings='a/b/c/d.docx';
$items = explode('/', $strings);
$num = count($items)-1;
$root= array();
$cur = &$root;
$temp = array();
$v='';
foreach($items as $keys => $value) {
$v = $v.$value;
$temp = array( "name" => $value, "path"=>$v, "type" => "folder", "items" => "");
if($keys == $num){
$temp = array( "name" => $value, "path"=>$v, "type" => "file", "size" => "20");
}
$v= $v.'/';
if($keys==0) {
$cur = $temp;
}
else
{
$cur['items'] = $temp;
$cur = &$cur['items'];
}
}
echo json_encode($root,JSON_UNESCAPED_SLASHES);
خروجی این کد الان به این شکله:
{"name":"a","path":"a","type":"folder","items":{"name":"b","path":"a/b","type":"folder","items":{"name":"c","path":"a/b/c","type":"folder","items":{"name":"d.docx","path":"a/b/c/d.docx","type":"file","size":"20"}}}}
ولی میخوام به این صورت در بیاد:
{"name":"a","path":"a","type":"folder","items":[{"name":"b","path":"a/b","type":"folder","items":[{"name":"c","path":"a/b/c","type":"folder","items":[{"name":"d.docx","path":"a/b/c/d.docx","type":"file","size":"20"}]}]}]}
در اصل یعنی آرایه به صورت non associtive در بیاد.
ممنون میشم بتونید کمک کنید
من دارم روی یه کدی کار میکنم که یه آدرس رو میگیره و به صورت آرایه های تو در تو خروجی بده
چیزی که فعلا بهش رسیدم اینه
$strings='a/b/c/d.docx';
$items = explode('/', $strings);
$num = count($items)-1;
$root= array();
$cur = &$root;
$temp = array();
$v='';
foreach($items as $keys => $value) {
$v = $v.$value;
$temp = array( "name" => $value, "path"=>$v, "type" => "folder", "items" => "");
if($keys == $num){
$temp = array( "name" => $value, "path"=>$v, "type" => "file", "size" => "20");
}
$v= $v.'/';
if($keys==0) {
$cur = $temp;
}
else
{
$cur['items'] = $temp;
$cur = &$cur['items'];
}
}
echo json_encode($root,JSON_UNESCAPED_SLASHES);
خروجی این کد الان به این شکله:
{"name":"a","path":"a","type":"folder","items":{"name":"b","path":"a/b","type":"folder","items":{"name":"c","path":"a/b/c","type":"folder","items":{"name":"d.docx","path":"a/b/c/d.docx","type":"file","size":"20"}}}}
ولی میخوام به این صورت در بیاد:
{"name":"a","path":"a","type":"folder","items":[{"name":"b","path":"a/b","type":"folder","items":[{"name":"c","path":"a/b/c","type":"folder","items":[{"name":"d.docx","path":"a/b/c/d.docx","type":"file","size":"20"}]}]}]}
در اصل یعنی آرایه به صورت non associtive در بیاد.
ممنون میشم بتونید کمک کنید