Pagina 2 di 2 primaprima 1 2
Visualizzazione dei risultati da 11 a 12 su 12
  1. #11
    Ottieni in un array tutti gli id dei figli di una categoria
    Codice PHP:

    function child_id($cat)
    {
        
    $return=array();
        
        
    $result=mysql_query("SELECT * FROM categorie WHERE padre='{$cat}'");
        while (
    $row=mysql_fetch_array($result))
        {            
            
    $return[]=$row['id']; //figli diretti
         
            
    $arr=child_id($row['id']); //ricorsiva: figli indiretti

            
    foreach ($arr as $val)
            
    $return[]=$val;
    }
        
        return 
    $return;    

    Michele Castellucci
    Sviluppatore Web del Consorzio CottonBit
    Consorzio Cottonbit
    Risorse per la programmazione
    Dire Fare Programmare!

  2. #12
    Utente di HTML.it
    Registrato dal
    Jan 2007
    Messaggi
    595
    Ho già due funzioni che uso quando mi serve di "spianare" un array annidato
    LineArray restituisce semplicemente i valori in un array non associativo
    LineArrayAssoc restituisce i valori con le relative chiavi
    Ecco il codice con un esempio
    Codice PHP:
    <?php
    function LineArray($myArray)
    {
      
    $result = array();
      if(!
    is_array($myArray))
      {
        
    $result[]=$myArray;
      } else {
        foreach(
    $myArray as $key => $value)
        {
          
    $result array_merge($result,LineArray($value));
        }
      }
      return 
    $result;
    }
    function 
    LineArrayAssoc($myArray)
    {
      
    $result = array();  
      if(
    is_array($myArray))
      {
        foreach(
    $myArray as $key => $value)
        {
          if(!
    is_array($value))
          {
            
    $elem=array();
            
    $elem[$key]=$value;
            
    $result[] = $elem;
          } else {
            
    $result array_merge($result,LineArrayAssoc($value));
          }
        }
      }
      return 
    $result;
    }



    $a = array(
      
    "a" => 1,
      
    "b" => array(
        
    "c" => 2,
        
    "d" => 3
      
    ),
      
    "e" => 4,
      
    "f" => array(
        
    "g" => "valore",
        
    "e" => array(
        
    "h" => 5,
        
    "i" => 6
        
    ),
        
    "l" => 7
      
    )
    );
    $x 1;
    $lined LineArray($a);
    echo 
    "<h3>Allineamento semplice</h3>";
    foreach(
    $lined as $key=>$value)
      echo 
    "$key => $value 
    "
    ;
    $lined LineArrayAssoc($a);
    echo 
    "<h3>Allineamento con chiavi</h3>";
    foreach(
    $lined as $line)
      foreach(
    $line as $key=>$value)
        echo 
    "$key => $value 
    "
    ;
    ?>
    Il risultato che vedi poi è:

    Allineamento semplice
    0 => 1
    1 => 2
    2 => 3
    3 => 4
    4 => valore
    5 => 5
    6 => 6
    7 => 7
    Allineamento con chiavi
    a => 1
    c => 2
    d => 3
    e => 4
    g => valore
    h => 5
    i => 6
    l => 7

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 © 2026 vBulletin Solutions, Inc. All rights reserved.