2014-09-25 66 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>