如何正确的用户串联连接?

时间:2013-04-05 19:13:43

标签: php oop concatenation

我正在研究网站的分页,我到了需要突出显示页面编号的位置。

我在这条线路上的语义很难,更具体地说是**之间的内容。整个代码也是如此。

请注意**不是代码的一部分。

任何人都可以帮助将这条线放在一起。

    <? $saida .='<li><a'.**if $i == $_GET['page'] echo 'class="active"';**.'href="?page='.$i.'">'.$i.'</a></li>'; ?>

这是我的整个代码

<?php

function montaTexto($texto){
    $texto = str_replace("<hr>","<hr />",$texto);
    $texto = str_replace("<hr/>","<hr />",$texto);
    $texto = explode('<hr />',$texto);

    $x = 0;
    foreach($texto as $s =>$v){
        $x++;
        $texto[$x] = $v;
    }

    if (!empty($_GET['page'])){
        $saida = $texto[$_GET['page']];
    } else {
        $saida = $texto[1];
    }

    if ($x > 1){
        $saida .= '<div class="pagination bottom">
              <p>-'.strip_tags($categoria['titulo_topo']).'-</p>
              <ul>';              
        for ($i = 1; $i <= $x; $i++){
              $saida .='<li><a'. if $i == $_GET['page'] echo 'class="active"'; .'href="?page='.$i.'">'.$i.'</a></li>';
        }
        $saida .='</ul>
              <p><a href="?page='.($x).'">&gt;&gt;</a></p>
              </div> ';
    }
    return $saida;
}

?>

1 个答案:

答案 0 :(得分:1)

您需要一个三元条件运算符:

$saida .='<li><a'. ($i == $_GET['page'] ? ' class="active"' : '') .' href="?page='.$i.'">'.$i.'</a></li>';

您可以详细了解here

编辑修正了一个错误:)

测试:

$ cat paging.php 
<?php
    $_GET['page'] = '5';

    for ($i = 0; $i < 10; $i++) {
        $saida .='<li><a'. ($i == $_GET['page'] ? ' class="active"' : '') .' href="?page='.$i.'">'.$i.'</a></li>' . "\n";
    }

    var_dump($saida);
$ php paging.php 
string(345) "<li><a href="?page=0">0</a></li>
<li><a href="?page=1">1</a></li>
<li><a href="?page=2">2</a></li>
<li><a href="?page=3">3</a></li>
<li><a href="?page=4">4</a></li>
<li><a class="active" href="?page=5">5</a></li>
<li><a href="?page=6">6</a></li>
<li><a href="?page=7">7</a></li>
<li><a href="?page=8">8</a></li>
<li><a href="?page=9">9</a></li>
"