【问题标题】:How to assign foreach loop to a variable?如何将foreach循环分配给变量?
【发布时间】:2011-12-14 14:45:09
【问题描述】:

我有以下代码。

$sn_count = 1;
  foreach($points as $point){
    echo "<div class=\"points\">";
    echo "<div class=\"serial\">".$sn_count."</div>";
    echo "<div class=\"pointsdesc\">";
    echo $point['points_description'];
    echo "</div></div>";
    $sn_count++;
  }

是否可以将上述代码赋值给变量$pointsvar

每次我使用$pointsvar 时都应该打印上面的代码。请帮忙。 谢谢

【问题讨论】:

  • 您的意思是包含或编译器常量?

标签: php variables foreach foreach-loop-container


【解决方案1】:

函数是您的解决方案。

function printPointVars($points)
{
    $sn_count = 1;
    $html = '';
    foreach($points as $point){
        $html .= "<div class=\"points\">"
            . "<div class=\"serial\">".$sn_count."</div>"
            . "<div class=\"pointsdesc\">"
            . $point['points_description']
            . "</div></div>";
        $sn_count++;
    }
    echo $html;
}

printPointVars($points);

【讨论】:

    【解决方案2】:

    使用函数...不是变量

    function pointvar() {
        //Your code here    
    }
    

    如果你想获取或设置你的变量

    function pointvar($var = null) {
        if(!empty($var)) {
            $pointvar = $var;
        }
        //Your code here
        return $pointvar;
    }
    
    pointvar(12); //Set pointvar and execute your code
    $newVar = pointvar(); //Get pointvar value and execute your code
    

    【讨论】:

      【解决方案3】:

      使用 .= 将某些内容分配给变量的末尾...类似这样的内容:

      $sn_count = 1;
      
      $pointsvar = "";
      
      foreach($points as $point){
        $pointsvar .= "<div class=\"points\">";
        $pointsvar .="<div class=\"serial\">".$sn_count."</div>";
        $pointsvar .="<div class=\"pointsdesc\">";
        $pointsvar .=$point['points_description'];
        $pointsvar .="</div></div>";
        $sn_count++;
      }
      
      echo $pointsvar;
      

      如果你想经常调用这样的东西,只需将它移到一个函数中,然后传入 $points 数组。

      【讨论】:

      • 并使格式在浏览器中显示为格式化;在每行末尾添加"\n"
      【解决方案4】:

      如果 $pointsvar 是静态的可以吗? (设置一次,然后总是在那个值?)是这样,只是改变你的回声成为分配者......

      $pointsvar = '';
      $sn_count = 1; 
        foreach($points as $point){ 
          pointsvar = pointsvar."<div class=\"points\">"; 
          pointsvar = pointsvar."<div class=\"serial\">".$sn_count."</div>"; 
          pointsvar = pointsvar."<div class=\"pointsdesc\">"; 
          pointsvar = pointsvar.$point['points_description']; 
          pointsvar = pointsvar."</div></div>"; 
          $sn_count++; 
        } 
      

      【讨论】:

        猜你喜欢
        • 2014-01-15
        • 1970-01-01
        • 2021-03-10
        • 1970-01-01
        • 1970-01-01
        • 2023-04-05
        • 1970-01-01
        • 2016-01-01
        • 1970-01-01
        相关资源
        最近更新 更多