Skip to content

Instantly share code, notes, and snippets.

@mstaack
Created August 2, 2017 19:59
Show Gist options
  • Save mstaack/674c39de4adb400b99f361b2fc64ef5a to your computer and use it in GitHub Desktop.
Save mstaack/674c39de4adb400b99f361b2fc64ef5a to your computer and use it in GitHub Desktop.
array transform
<?php
$mailFolders = [
'INBOX',
'INBOX.childfolder',
'INBOX.childfolder.subchildfolder',
'INBOX.sent',
'INBOX.draft'
];
$explodedfolders = array_map(function($folder){
return explode($delimiter='.',$folder);
},$mailFolders);
//do some array / collection magic here to get the wanted result
$result = [
[
'name'=>'INBOX',
'path'=>'INBOX',
'children'=>[
[
'name'=>'childfolder',
'path'=>'INBOX.childfolder',
'children'=>
[
[
'name'=>'subchildfolder',
'path'=>'INBOX.childfolder.subchildfolder',
'children'=>[]
]
]
],
[
'name'=>'sent',
'path'=>'INBOX.sent',
'children'=>[],
],
[
'name'=>'draft',
'path'=>'INBOX.draft',
'children'=>[],
]
]
]
]
?>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment