2010-03-20 4 views
-5

Je travaille avec une boucle PHP foreach et j'en ai besoin pour produire un code HTML spécifique en fonction de la valeur du tableau qu'il crache.PHP foreach loop help

Chaque fois que la boucle foreach atteint un $content['contentTitle'] j'en ai besoin pour insérer une nouvelle table et ensuite continuer. Essentiellement je veux que la boucle crache une nouvelle table chaque fois qu'un nouveau contentTitle est trouvé, mais ajoute alors le reste des données dans le tableau comme tr et td.

+3

Pourriez-vous Veuillez réécrire votre question C'est totalement incompréhensible. Veuillez également fournir un code ou au moins une entrée/sortie attendue. – Crozin

+1

* (indice) * il n'y a pas de 'array_spit()' et l'interpunctuation n'est pas optionnelle. – Gordon

+0

-1 parce que la seule chose que vous pouvez dire de votre question est que vous utilisez une mise en page basée sur la table. Apprendre à écrire du HTML, alors apprendre à écrire en PHP. – aaronasterling

Répondre

3

En supposant que $content est un élément d'une certaine gamme de parent, et que la première entrée dans ce tableau parent a une entrée contentTitle, alors vous feriez quelque chose comme ceci:

$first = true; 
echo "<table>\n"; // start initial table 
foreach ($stuff as $content) { 
    if ($content['contentTitle']) { 
     if (!$first) { 
      // If this is NOT the $first run through, close the previous table 
      $first = false; //... and set the sentinel to false 
      echo "</table>\n"; 
     } 
     // output the contentTitle 
     echo <<<EOF 
<h1>{$content['contentTitle']}</h1> 

<table> 

EOF; 
    } else { 
     // otherwise output the regular non-title content 
     echo <<<EOF 
<tr> 
    <td>{$content['this']}</td> 
    <td>{$content['that']}</td> 
    <td>{$content['somethingelse']}</td> 
</tr> 

EOF; 
    } 
} 
5

Eh bien, ajoutez une condition if à l'intérieur de votre boucle. Si elle atteint $ content ['contentTitle'], fermez la table précédente et commencez-en une nouvelle.

0
foreach($content as $key=>$value){ 
    if($key == "contentTitle"){ 
    echo "<table>"; 
    } 
    else{ 
    echo "<tr><td>"; 
    } 
}