Bon voici mon algo récursion:difficulté à un algo récursion
public function getCategoryTree($tree,$return = array()) {
foreach ($tree->children as $child) {
if (count($child->children) > 0)
$return[$tree->name] = $this->getCategoryTree($child, $return);
else
$return[] = $child->name;
}
return $return;
}
Voici un extrait de la structure de données que je suis en train de traverser
Object(stdClass)#290 (6) {
["category_id"]=>
int(1)
["parent_id"]=>
int(0)
["name"]=>
string(4) "Root"
["position"]=>
int(0)
["level"]=>
int(0)
["children"]=>
array(2) {
[0]=>
object(stdClass)#571 (7) {
["category_id"]=>
int(2)
["parent_id"]=>
int(1)
["name"]=>
string(18) "Root MySite.com"
["is_active"]=>
int(0)
["position"]=>
int(0)
["level"]=>
int(1)
["children"]=>
array(11) {
[0]=>
object(stdClass)#570 (7) {
["category_id"]=>
int(15)
["parent_id"]=>
int(2)
["name"]=>
string(9) "Widgets"
["is_active"]=>
int(1)
["position"]=>
int(68)
["level"]=>
int(2)
["children"]=>
array(19) {
[0]=>
object(stdClass)#566 (7) {
["category_id"]=>
int(24)
["parent_id"]=>
int(15)
["name"]=>
string(16) "Blue widgets"
["is_active"]=>
int(1)
["position"]=>
int(68)
["level"]=>
int(3)
["children"]=>
array(0) {
}
}
<snip....>
J'essaie d'obtenir une structure de données php comme telles
categories = array("Root" =>
array("Root MySite.com" =>
array("Widgets" =>
// final element is NOT an array
array ("Blue Widgets", "Purple Widgets" ...)
)
)
)
Je ne peux pas sembler tout à fait pour obtenir la structure de données je cherche l'aide de mon algo récursive. Toute aide serait géniale.
Finalement, je vais devoir l'analyser à nouveau sur le frontend et l'afficher, mais un autre problème pour un autre jour ...
Quand est-il devenu "cool" d'utiliser * algo *? – Kermit
au cours des 2 dernières années, lorsque le mot «épique» est devenu populaire – bonez
Il n'est pas clair pour moi "Je suis en train de le stocker dans Mongo DB en tant que tel". Donc vous avez besoin d'un moyen de convertir votre objet en une chaîne ??? Les objets peuvent être enregistrés en tant que chaînes lorsqu'ils sont sérialisés. Il y a beaucoup de manières dans php de faire ceci. Les deux plus importants sont: [json-encoder] (http://php.net/manual/es/function.json-encode.php) et [sérialiser] (http://php.net/manual/es/function .serialize.php) –