Pagina 1 di 2 1 2 ultimoultimo
Visualizzazione dei risultati da 1 a 10 su 20

Discussione: array creazione menu

  1. #1

    array creazione menu

    Ciao,
    ho un problema a creare un menu automaticamente avendo questo array:
    codice:
    array(1) {
      [0]=>
      array(2) {
        ["name"]=>
        string(9) "categorie"
        ["categorie"]=>
        array(6) {
          [0]=>
          array(2) {
            ["name"]=>
            string(6) "sotto1"
            ["id"]=>
            string(1) "3"
          }
          [1]=>
          array(3) {
            ["name"]=>
            string(6) "sotto2"
            ["id"]=>
            string(1) "4"
            ["sotto2"]=>
            array(1) {
              [0]=>
              array(2) {
                ["name"]=>
                string(11) "sottosotto1"
                ["id"]=>
                string(1) "5"
              }
            }
          }
          [2]=>
          array(2) {
            ["name"]=>
            string(6) "sotto3"
            ["id"]=>
            string(1) "6"
          }
          [3]=>
          array(2) {
            ["name"]=>
            string(6) "sotto4"
            ["id"]=>
            string(1) "7"
          }
          [4]=>
          array(2) {
            ["name"]=>
            string(6) "sotto5"
            ["id"]=>
            string(1) "8"
          }
          [5]=>
          array(3) {
            ["name"]=>
            string(6) "sotto6"
            ["id"]=>
            string(1) "9"
            ["sotto6"]=>
            array(2) {
              [0]=>
              array(3) {
                ["name"]=>
                string(11) "sottosotto1"
                ["id"]=>
                string(2) "10"
                ["sottosotto1"]=>
                array(1) {
                  [0]=>
                  array(2) {
                    ["name"]=>
                    string(16) "sottosottosotto1"
                    ["id"]=>
                    string(2) "12"
                  }
                }
              }
              [1]=>
              array(2) {
                ["name"]=>
                string(11) "sottosotto2"
                ["id"]=>
                string(2) "11"
              }
            }
          }
        }
      }
    }
    Uso una funzione ricorsiva ma ho difficoltà ad avere id e name della categoria nello stesso momento per fare un URL tipo :<a href='ciao.php?cat=sotto1&amp;id=3'

    Codice PHP:
        function process($arr)
        {
            foreach (
    $arr as $key => $value
            {
                if(
    is_array($value))
                {
                    
    process($value)." -";
                }
                else
                {            
                    echo 
    htmlspecialchars($value). " ";
                }
            }        
        } 
    Questa è una breve funzione ricorsiva da cui penso si possa partire...ma mi trovo in difficoltà...qualcuno sa aiutarmi???

    Ciao

    Alberto
    Sistemi di allarme, telecamere, autoradio, video proiettori e altri prodotti tecnologici: fedom.it

  2. #2
    up
    Sistemi di allarme, telecamere, autoradio, video proiettori e altri prodotti tecnologici: fedom.it

  3. #3
    Utente di HTML.it L'avatar di dottwatson
    Registrato dal
    Feb 2007
    Messaggi
    3,012
    prova così... buttata giu in 10 minuti m aspero possa darti un buon spunto

    Codice PHP:
    <?php
    foreach($array as $root)
      {
      if (
    is_array($root)) $sotto=true;
      else                 continue;
      
    $track=array();
      while (
    $sotto==true)
        {
        foreach(
    $root as $key=$val)
          {
          if (
    $key == "name" && is_array($root[$val]))
            {
            
    $root=$root[$val];
            
    $track[]=$val;
            break;
            }
          else 
    $sotto=false;
          }
        }
      
    $end_track=implode('-',$track);
      echo 
    $end_track;
      }
    ?>

    ciao alb
    Non sempre essere l'ultimo è un male... almeno non devi guardarti le spalle

    il mio profilo su PHPClasses e il mio blog laboweb

  4. #4
    Ohi dottò
    Mi dà Illegal offset type in questa riga:
    Codice PHP:
    if ($key == "name" && is_array($root[$val])) 
    Sistemi di allarme, telecamere, autoradio, video proiettori e altri prodotti tecnologici: fedom.it

  5. #5
    up
    Sistemi di allarme, telecamere, autoradio, video proiettori e altri prodotti tecnologici: fedom.it

  6. #6
    Utente di HTML.it L'avatar di dottwatson
    Registrato dal
    Feb 2007
    Messaggi
    3,012
    gioventù moderna... :rollo:

    foreach($root as $key=$val)

    manca il >


    foreach($root as $key=>$val)
    Non sempre essere l'ultimo è un male... almeno non devi guardarti le spalle

    il mio profilo su PHPClasses e il mio blog laboweb

  7. #7
    Vecchiaia antica

    Ovvio che l'avevo già sostituito di mio, sennò avrei avuto un altro tipo di errore
    Il problema è in quella riga che ho postato Brunello


    (grazie cmq) :rollo:
    Sistemi di allarme, telecamere, autoradio, video proiettori e altri prodotti tecnologici: fedom.it

  8. #8
    Utente di HTML.it L'avatar di dottwatson
    Registrato dal
    Feb 2007
    Messaggi
    3,012


    biondo prova così allora

    Codice PHP:
    <?php
    foreach($array as $root)
      {
      if (
    is_array($root)) $sotto=true;
      else                 continue;
      
      
    $track=array();
      while (
    $sotto==true)
        {
        
    $the_arr=$root;
        foreach(
    $the_arr as $key=>$val)
          {
          if (
    $key == "name" && isset($the_arr[$val]))
            {
            
    $root=$the_arr[$val];
            
    $track[]=$val;
            break;
            }
          else 
    $sotto=false;
          }
        }
      
    $end_track=implode('-',$track);
      echo 
    $end_track;
      }
    ?>
    Non sempre essere l'ultimo è un male... almeno non devi guardarti le spalle

    il mio profilo su PHPClasses e il mio blog laboweb

  9. #9
    Illegal offset type in isset or empty in stessa riga


    Brunone
    Sistemi di allarme, telecamere, autoradio, video proiettori e altri prodotti tecnologici: fedom.it

  10. #10
    Utente di HTML.it L'avatar di dottwatson
    Registrato dal
    Feb 2007
    Messaggi
    3,012
    mmmhhhh.. prova a mettere un echo qua e la e vedi se $val è realmente e correttamente valorizzata, inoltre, perfavore potresti fornirmi un print_r anzichè un var_dump? risulta piu leggibile...
    Non sempre essere l'ultimo è un male... almeno non devi guardarti le spalle

    il mio profilo su PHPClasses e il mio blog laboweb

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2025 vBulletin Solutions, Inc. All rights reserved.