2014-09-25 76 views
0

讓我們我有一個這樣的數組打印數據再次

$age=array("Peter"=>"35","Ben"=>"37","Joe"=>"43"); 

<?php 
$age=array("Peter"=>"35","Ben"=>"37","Joe"=>"43"); 
?> 
    <div id="3"> 
      <!-----result of foreach loop----> 
    </div> 
    <div id="1"> 
     <?php 
      foreach ($age as $key => $value) {?> 
        <p><?php echo $value;?></p> 
      <?php 
      } 
     ?> 
    </div> 
    <div id="2"> 
     <!-----result of foreach loop----> 
    </div> 
<?php 
?> 

我想通過在陣列打印相同的結果<div id="2"><div id="3">,無環,我只想使用循環一次。

+0

爲什麼?你想通過沒有多個循環來實現什麼?你可以將你的循環連接成一個變量並在多個地方回顯它。 – Scuzzy 2014-09-25 05:07:47

+0

如果我有一百萬個項目,那麼我的腳本肯定會很慢。 – 2014-09-25 05:09:44

+0

您的瀏覽器將會變得更糟;) – Scuzzy 2014-09-25 05:11:28

回答

3
<?php 
      $pAge = ""; 
      foreach ($age as $key => $value) { 
       $pAge .= "<p>" . $value . "</p>"; 
      } 
?> 

    <div id="3"> 
      <?= $pAge; ?> 
    </div> 
    <div id="1"> 
      <?= $pAge; ?> 
    </div> 
+0

謝謝,這就是我正在尋找的內容 – 2014-09-25 05:22:42

2

您可以嘗試將它們全部放在一個變量中,然後將它們回顯出來。
事情是這樣的 -

<?php 
$age=array("Peter"=>"35","Ben"=>"37","Joe"=>"43"); 
$display_str = ""; 
foreach ($age as $key => $value) { 
    $display_str .= $value; 
} 
?> 
<div id="1"> 
    <?php echo $display_str;?>  
</div> 
<div id="2"> 
    <!-----result of foreach loop----> 
    <?php echo $display_str;?> 
</div> 
2

的HTML只是存儲在div部分之前並打印了三次:

<?php 
    $age=array("Peter"=>"35","Ben"=>"37","Joe"=>"43"); 

    $htmlString = ''; 
    foreach ($age as $key => $value) 
    { 
     $htmlString .= '<p>'.$value.'</p>'; 
    } 
?> 

<div id="3"> 
    <?=$htmlString?> 
</div> 
<div id="1"> 
    <?=$htmlString?> 
</div> 
<div id="2"> 
    <?=$htmlString?> 
</div> 
1

你可以做到這一點像爲:

<div id="1"> 


<?php 
     $html=""; 
     foreach ($age as $key => $value) { 


       $html .= "<p>".$value."</p>"; 
       } 
       echo $html; 
       ?> 

</div> 
<div id="2"> 
    <?php echo $html; ?> 
</div> 
+0

爲什麼在循環中回顯$ html? – 2014-09-25 05:21:56

+0

更新.......................... – Dinesh 2014-09-25 05:23:40

1

只需將結果值存儲在使用的陣列中,如下所示:

<?php 
$age=array("Peter"=>"35","Ben"=>"37","Joe"=>"43"); 
?> 
    <div id="3"> 
      <!-----result of foreach loop----> 
    </div> 
    <div id="1"> 
     <?php 
      $res = array(); 
      foreach ($age as $key => $value) {?> 
        <p><?php 
        $res[] = $value; 
        echo $value;?></p> 
      <?php 
      } 
     ?> 
    </div> 
    <div id="2"> 
     <!-----result of foreach loop----> 
     <?php 
      echo '<pre>'; 
      print_r($res); ?> 
     <p><?php 
      echo $res[0]; 
      echo $res[1]; 
      echo $res[2]; 
     ?></p> 
    </div> 
<?php 
?> 
1

你也可以做到這一點使用:

<?php 
    function myfunction($value,$key) 
    { 
     echo "$value<br>"; 
    } 

$age=array("Peter"=>"35","Ben"=>"37","Joe"=>"43"); 
?> 
    <div id="3"> 
     <?php array_walk($age,"myfunction"); ?> 
    </div> 
    <div id="1"> 
     <?php array_walk($age,"myfunction"); ?> 
    </div> 
    <div id="2"> 
     <?php array_walk($age,"myfunction"); ?> 
    </div>