2016-06-29 4 views
0

私は3 ul秒表示したい:私は短い方法で上記を組み合わせることができますどのように次のコードをどのように組み合わせることができますか?

$one = '<ul>'; 
$j = 0; 
while($j<3){ 
    $one .= '<li data-src="' . $myarray[0][$j] . '"></li>'; 
    $j++; 
} 
echo $one; 
echo '</ul>'; 

$two = '<ul>'; 
$j = 0; 
while($j<3){ 
    $two .= '<li data-src="' . $myarray[1][$j] . '"></li>'; 
    $j++; 
} 
echo $two; 
echo '</ul>'; 

$whatever = '<ul>'; 
$j = 0; 
while($j<3){ 
    $whatever .= '<li data-src="' . $myarray[2][$j] . '"></li>'; 
    $j++; 
} 
echo $whatever; 
echo '</ul>'; 

を?

答えて

0

ので、同じようにこのような

for ($i = 0; $i < 3; $i++) { 
    echo '<ul>'; 
    for ($j = 0; $j < 3; $j++) { 
     echo '<li data-src="' . $myarray[$i][$j] . '"></li>'; 
    } 
    echo '</ul>'; 
} 
+1

Thanx。私は苦労していた。私は複数の変数を持つforループを使用しようとしていたので、うまくいきませんでした。あなたのソリューションは私のために働いた。 – user3556802

1
$html = ""; 
    for($i=0;$i<=2;$i++) { 
     $html .= '<ul>'; 
     $j = 0; 
     while($j<3){ 
      $html .= '<li data-src="' . $myarray[$i][$j] . '"></li>'; 
      $j++; 
     } 
     $html .= '</ul>'; 
    } 
    echo $html; 
0

何かが心にスプリング:

$i = 0; 
$j = 0; 

while($i < 3) { 
    echo '<ul>'; 
    while ($j < 3) { 
     echo '<li data-src="' . $myarray[$i][$j] . '"></li>'; 
     $j++; 
    } 
    echo '</ul>'; 
    $i++; 
    $j = 0; 
} 

あなたは(あなたはまた、forループで置き換えることができます)二つのループを持っているので、あなたができますあなたのhtmlを一度だけタイプするようにそれらを入れます。 この方法では、htmlを文字列に格納する必要もありません。すぐにそれらをエコーすることができます。

0

私が正しく理解すれば、同じコードが3回繰り返されます。ネストされたfor/whileループで置き換えることができます。

$i= 0; 
while ($i < 3) { 
    echo '<ul>'; 
    $j = 0; 
    while ($j < 3) { 
     echo '<li data-src="' . $myarray[$i][$j] . '"></li>'; 
     $j++; 
    } 
    echo '</ul>'; 
    $i++; 
} 
1

最初に表示したいものについて考えます。ここには3つのリストがあり、それぞれの3つのリストには1つのサブリストが含まれています。だから、(2次元配列である)あなたの$ myarrayのをループする必要があります:あなただけの次の次元を扱うよう

<?php $j = 0; ?> 
    <?php foreach($myarray as $row): ?> 
    <ul> 
     <li data-src="<?php echo $row[$j] ?>"></li> 
    </ul> 
    <?php endforeach ?> 

foreachはあなた$rowが一次元になって作るこれ、あなたの最初の次元を通過します2の代わりに配列を使用します。

このソリューションはテンプレート指向であり、ロジックとグラフィックを分離する必要がある場合に適しています。

関連する問題