GUJ Discussões   :   últimos tópicos   |   categorias   |   GUJ Respostas

Array dentro de array com PHP

Tags: #<Tag:0x00007f0a85a0c7b0> #<Tag:0x00007f0a85a0c508> #<Tag:0x00007f0a85a0c0a8>

Bom dia, estou tentando fazer um array com 3 níveis, vou colocar o código abaixo para facilitar o entendimento, pois estou apanhando hehe.

$arrayArtistas = array();

$arrayAlbuns = array();

$arrayFaixas = array();

/** CARREGA ARTISTAS */

$conArt = $link->query("select * from artistas where nome like '%" . $nome_artista . "%' ");

while ($dart = $conArt->fetch_array()) {

    $arrayArtistas[] = $dart['nome'];

    /** CARREGA ALBUNS DO ARTISTA */

    $conAlb = $link->query("select * from albuns where id_artista_fk = " . $dart['id_artista']);

    while ($dalb = $conAlb->fetch_array()) {

        // $arrayAlbuns[] = array('nome_album' => $dalb['nome_album']);

        $arrayAlbuns[] = $dalb['nome_album'];

        /** CARREGA FAIXAS DO ALBUM */

        $conFai = $link->query("select * from faixas where id_album_fk = " . $dalb['id_album']);

        while ($dfai = $conFai->fetch_array()) {

            $arrayFaixas[] = $dfai['nome_faixa'];

        }

    }

}

$arrayTotal = $arrayArtistas;

echo json_encode($arrayTotal, JSON_UNESCAPED_SLASHES);

Preciso que a saída seja mais ou menos assim em JSON:

{
    "artistas": [
      {
          Artista1: {
            [
                "albuns": {
                     [
                          CD1: {
                              [
                                  Faixa1
                              ]
                              [
                                  Faixa2
                              ]
                              [
                                  Faixa3
                              ]
                          }
                     ],
                     [
                          CD2: {
                              [
                                  Faixa1
                              ]
                              [
                                  Faixa2
                              ]
                              [
                                  Faixa3
                              ]
                          }
                     ]
                 }
            ] 
         }
      }
   ]
}
//