Disculpa Triby, pero la función de recursividad que ahi propones no la logro implementar con éxito ya que esa función está escrita de manera "suposición".
Código PHP:
funcion verCategorias(padre = 0) {
foreach(categorias[padre] as id) {
print categorias['todos'][id]['nombre']
// Revisar si la categoría tiene hijos
if(isset(categorias[id])) {
verCategorias(id)
}
}
}
Este es parte de mi array que consigo de la manera que tu especificas:
Código:
$members = Array
(
[todos] => Array
(
[0] => Array
(
[id] => 1
[name] => cdiazr
[Sponsor] =>
)
[1] => Array
(
[id] => 2
[name] => sarahg
[Sponsor] => 1
)
[2] => Array
(
[id] => 3
[name] => ygn
[Sponsor] => 1
)
[3] => Array
(
[id] => 4
[name] => oscar
[Sponsor] => 2
)
[4] => Array
(
[id] => 5
[name] => usu5
[Sponsor] => 4
)
[5] => Array
(
[id] => 6
[name] => usu6
[Sponsor] => 4
)
[6] => Array
(
[id] => 7
[name] => usu7
[Sponsor] => 4
)
Y aquí tu función de recursividad como yo entiendo que tendría que ser (a partir de la que compartiste) pero no me funciona, obviamente no lanza nada, página en blanco:
Código PHP:
function verCategorias($id = 0) {
global $members;
foreach($members[$id] as $id) {
print $members['todos'][$id]['name'];
// Revisar si la categoría tiene hijos
if(isset($members[$id])) {
verCategorias($id);
}
}
}
He tenido que añadir global pq no le pasas por ningún la el array principal, dentro de foreach.
$members[$id] no existe pues hay que poner el ['todos'] antes y ni así me lanza nada.