• User

    Problema con ciclo e array

    Ciao!
    Ho bisogno di aiuto con un ciclo for.
    Ho costruito una pagina web strutturata in questo modo: ho un div che contiene tre colonne.
    Ho un array che contiene un elenco di elementi che voglio mostrare all'interno delle mie colonne.
    Il ciclo penso dovrebbe costruire anche l'html oltre a mostrare gli elementi dell'array però non so come farlo. quello che devo ottenere è questo:

    <div>
    <div id="column1">
    item 1
    item 4
    </div>
    <div id="column2">
    item 2
    item 5
    </div>
    <div id="column3">
    itemt 3
    item 6
    </div>
    </div>

    Grazie mille per l'aiuto!


  • User

    $array=array('contenuto1',contenuto2','contenuto3','etc...);

    for($x=0;$x<count($array);$x++){

    echo "<div>". $array[$x] ."</div>";

    }

    Non ho ben capito cosa intendi; però penso che ti possa aiutare l'esempio che ti ho fatto; hai un array contenente tot variabili; per ogni variabile ho creato un div contenente il suo valore array[$x].
    Quindi in questo caso è come se in html ci fosse questo codice:

    <div>
    contenuto1
    </div>

    <div>
    contenuto2
    </div>

    <div>
    contenuto3
    </div>

    ....

    nota che count($arra) ottieni il numero delle variabili che hai nell'array .


  • User Attivo

    Se al posto del div ci facessi una tabella? Oppure se, sempre con i div, si ricreasse l'effetto tabella?
    Cioè
    [HTML]<div>
    <div>
    item1
    </div>
    <div>
    item2
    </div>
    <div>
    item 3
    </div>
    <br>
    <div>
    item 4
    </div>
    <div>
    item 5
    </div>
    <div>
    item 6
    </div>
    </div>[/HTML]

    Lo potresti fare con

    [PHP]
    echo "<div>";
    $items = array("item 1", "item 2", "item 3", "item 4", "item 5", "item 6");
    for($x=0; $x<count($items); $x++)
    {
    echo "<div>". $items[$x] ."</div>";
    if($x % 3 == 0)
    {
    echo "<br>";
    }
    }
    echo "</div>";
    [/PHP]


  • User

    Grazie a tutti..
    non fa niente se al posto di div ho tabelle..ma la mia strutturas iniziale deve avere per forza 3 colonne e gli oggetti del mio arrey li devo disporre così:
    nella prima colonna ho gli elementi 0,3,6,9, ecc.. dell'array
    nella seconda colonna ho gli elementi 1,4,7, ecc.. dell'array
    nella terza colonna ho gli elementi 2,5,8, ecc.. dell'array
    rieco a farlo?non mi è chiaro cosa vuol dire $x % 3 == 0
    grazie..


  • User Attivo

    Vada per una tabella, 3 colonne.

    [PHP]
    echo "<table>";
    $items = array("item 1", "item 2", "item 3", "item 4", "item 5", "item 6", eccecc); //questo è l'array dei contenuti
    for($x=1; $x<=count($items); $x++)
    {
    if($x % 3 == 0)
    {
    echo "<tr>"; //solo se x è divisibile per 3 vai sulla riga sotto, quindi ogni 3 elementi scende di una riga
    }
    echo "<td>". $items[$x] ."</td>";
    if($x % 3 == 0)
    {
    echo "</tr>"; // idem, ma qui termina la riga
    }
    }
    echo "</table>";
    [/PHP]