
Untitled
By: a guest on
May 1st, 2012 | syntax:
None | size: 24.23 KB | hits: 11 | expires: Never
function updateCategories($array) {
$new_array = array ();
$merge_array = array ();
$tmp = array ();
foreach ( $array as $key => $value ) {
if (! is_array ( $value )) {
$tmp [0] [$key] = $value;
} else {
$merge_array = $this->updateCategories ( $value );
}
}
$new_array = array_merge ( $new_array, $tmp );
return array_merge ( $new_array, $merge_array );
}
This is the result:
Array
(
[0] => Array
(
[category_id] => 1
[parent_id] => 0
[name] => Root Catalog
[is_active] =>
[position] => 7
[level] => 0
)
[1] => Array
(
[category_id] => 2
[parent_id] => 1
[name] => Default Category
[is_active] => 1
[position] => 7
[level] => 1
)
[2] => Array
(
[category_id] => 32
[parent_id] => 2
[name] => Linee Dati
[is_active] => 1
[position] => 15
[level] => 2
)
[3] => Array
(
[category_id] => 23
[parent_id] => 32
[name] => Servizi Aggiuntivi
[is_active] => 1
[position] => 2
[level] => 3
)
[4] => Array
(
[category_id] => 25
[parent_id] => 23
[name] => Shdsl Routers
[is_active] => 1
[position] => 3
[level] => 4
)
)
Array
(
[category_id] => 1
[parent_id] => 0
[name] => Root Catalog
[is_active] =>
[position] => 7
[level] => 0
[children] => Array
(
[0] => Array
(
[category_id] => 2
[parent_id] => 1
[name] => Default Category
[is_active] => 1
[position] => 7
[level] => 1
[children] => Array
(
[0] => Array
(
[category_id] => 3
[parent_id] => 2
[name] => Domini
[is_active] => 1
[position] => 7
[level] => 2
[children] => Array
(
[0] => Array
(
[category_id] => 28
[parent_id] => 3
[name] => Generici
[is_active] => 1
[position] => 2
[level] => 3
[children] => Array
(
)
)
[1] => Array
(
[category_id] => 29
[parent_id] => 3
[name] => Geografici
[is_active] => 1
[position] => 3
[level] => 3
[children] => Array
(
)
)
[2] => Array
(
[category_id] => 30
[parent_id] => 3
[name] => Commerciali
[is_active] => 1
[position] => 4
[level] => 3
[children] => Array
(
)
)
)
)
[1] => Array
(
[category_id] => 4
[parent_id] => 2
[name] => Hostings
[is_active] => 1
[position] => 9
[level] => 2
[children] => Array
(
[0] => Array
(
[category_id] => 6
[parent_id] => 4
[name] => Piani Hosting Generici
[is_active] => 1
[position] => 2
[level] => 3
[children] => Array
(
)
)
[1] => Array
(
[category_id] => 19
[parent_id] => 4
[name] => Piani Hosting eCommerce
[is_active] => 1
[position] => 3
[level] => 3
[children] => Array
(
)
)
[2] => Array
(
[category_id] => 5
[parent_id] => 4
[name] => Servizi Aggiuntivi
[is_active] => 1
[position] => 4
[level] => 3
[children] => Array
(
)
)
[3] => Array
(
[category_id] => 21
[parent_id] => 4
[name] => Hosting per Rivenditori
[is_active] => 1
[position] => 7
[level] => 3
[children] => Array
(
)
)
[4] => Array
(
[category_id] => 22
[parent_id] => 4
[name] => Hosting Evoluti
[is_active] => 1
[position] => 9
[level] => 3
[children] => Array
(
)
)
)
)
[2] => Array
(
[category_id] => 8
[parent_id] => 2
[name] => Software
[is_active] => 1
[position] => 10
[level] => 2
[children] => Array
(
[0] => Array
(
[category_id] => 9
[parent_id] => 8
[name] => eCommerce
[is_active] => 1
[position] => 2
[level] => 3
[children] => Array
(
[0] => Array
(
[category_id] => 17
[parent_id] => 9
[name] => Moduli di Pagamento
[is_active] => 1
[position] => 2
[level] => 4
[children] => Array
(
)
)
[1] => Array
(
[category_id] => 18
[parent_id] => 9
[name] => Moduli Aggiuntivi Magento
[is_active] => 1
[position] => 4
[level] => 4
[children] => Array
(
)
)
)
)
[1] => Array
(
[category_id] => 10
[parent_id] => 8
[name] => Gestionali
[is_active] => 1
[position] => 4
[level] => 3
[children] => Array
(
)
)
[2] => Array
(
[category_id] => 27
[parent_id] => 8
[name] => Web Sites
[is_active] => 1
[position] => 6
[level] => 3
[children] => Array
(
)
)
)
)
[3] => Array
(
[category_id] => 11
[parent_id] => 2
[name] => Servizi
[is_active] => 1
[position] => 11
[level] => 2
[children] => Array
(
[0] => Array
(
[category_id] => 26
[parent_id] => 11
[name] => Messaggistica Integrata
[is_active] => 1
[position] => 4
[level] => 3
[children] => Array
(
)
)
[1] => Array
(
[category_id] => 14
[parent_id] => 11
[name] => eLearning
[is_active] => 1
[position] => 5
[level] => 3
[children] => Array
(
)
)
[2] => Array
(
[category_id] => 12
[parent_id] => 11
[name] => Assistenza & Tutoring
[is_active] => 1
[position] => 6
[level] => 3
[children] => Array
(
)
)
)
)
[4] => Array
(
[category_id] => 16
[parent_id] => 2
[name] => Promozioni
[is_active] => 1
[position] => 14
[level] => 2
[children] => Array
(
)
)
[5] => Array
(
[category_id] => 32
[parent_id] => 2
[name] => Linee Dati
[is_active] => 1
[position] => 15
[level] => 2
[children] => Array
(
[0] => Array
(
[category_id] => 33
[parent_id] => 32
[name] => ADSL
[is_active] => 1
[position] => 0
[level] => 3
[children] => Array
(
[0] => Array
(
[category_id] => 34
[parent_id] => 33
[name] => ADSL Standard
[is_active] => 1
[position] => 1
[level] => 4
[children] => Array
(
)
)
[1] => Array
(
[category_id] => 35
[parent_id] => 33
[name] => ADSL Naked
[is_active] => 1
[position] => 2
[level] => 4
[children] => Array
(
)
)
)
)
[1] => Array
(
[category_id] => 13
[parent_id] => 32
[name] => SHDSL
[is_active] => 1
[position] => 1
[level] => 3
[children] => Array
(
)
)
[2] => Array
(
[category_id] => 23
[parent_id] => 32
[name] => Servizi Aggiuntivi
[is_active] => 1
[position] => 2
[level] => 3
[children] => Array
(
[0] => Array
(
[category_id] => 24
[parent_id] => 23
[name] => Indirizzi IP Statici
[is_active] => 1
[position] => 2
[level] => 4
[children] => Array
(
)
)
[1] => Array
(
[category_id] => 25
[parent_id] => 23
[name] => Shdsl Routers
[is_active] => 1
[position] => 3
[level] => 4
[children] => Array
(
)
)
)
)
)
)
)
)
)
)