Det er et spørgsmål om at bryde problemet ned i mindre dele så du selv kan forstå det.
Du vil have en liste af 4 personer - kilden til data er under ordnet - til at stå i et 2 by 2 grid.
Du har så to problemer:
1: hvordan laver man et 2x2 grid. (Se @scootergrisens svar)
2: hvordan får man php til at gøre en handling hver anden gang i et loop?
Vi antager at vores input data er:
-  <?php
-  $persons = array('BoS','dan','scootergrisen','Ronny');
Så skal vi bruge et loop som på hver andet gennemløb kører en bestemt kode. Den nemmeste måde er at bruge en counter variabel og modulo.
-  <?php
-  $i = 0; // Counter variabel
-  
-  while(something) {
-    $i++; // Læg 1 til counter var
-  
-    if ($i % 2 == 0) { echo 'Counter var går op i 2 uden rest!'; }
-  
-    // do stuff.
-  }
Et eksempel på en implementering:
-  <?php
-  $input = array('BoS', 'dan', 'scootergrisen', 'Ronny');
-  
-  echo '<table>';
-  
-  $i = 0;
-  
-  foreach($input as $person) {
-    $i++;
-    if ($i % 2 == 1) {
-      echo '<tr>';
-    }
-  
-    echo '<td>' . $person . '</td>';
-  
-    if ($i % 2 == 0) {
-      echo '</tr>';
-    }
-  }
-  
-  echo '</table>';
Output:
-  <table>
-    <tr>
-      <td>BoS</td>
-      <td>dan</td>
-    </tr>
-    <tr>
-      <td>scootergrisen</td>
-      <td>Ronny</td>
-    </tr>
-  </table>
Eksemplet virker iøvrigt med alle lister der er delbare med 2. så den laver et 2 by (length / 2) grid. Det kan nemt laves om til 3x(length/3) eller noget helt tredje.
						
						
						
						
		
							Indlæg senest redigeret d. 27.10.2012 16:18 af Bruger #17015