Как назначить цикл foreach переменной? - PullRequest
2 голосов
/ 14 декабря 2011

У меня есть следующий код.

$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 вышеприведенный код должен быть напечатан. Пожалуйста помоги. Спасибо

Ответы [ 4 ]

3 голосов
/ 14 декабря 2011

Функции - это ваше решение.

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);
1 голос
/ 14 декабря 2011

Использовать функцию ... не переменную

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
0 голосов
/ 14 декабря 2011

Это нормально, если $ 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++; 
  } 
0 голосов
/ 14 декабря 2011

используйте. =, Чтобы назначить что-то в конец переменной ... Примерно так:

$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.

...