PHP获取变量爆炸

时间:2017-02-09 11:40:15

标签: php arrays explode

我正在使用此代码进行爆炸并显示GET变量。但我想删除链接中的当前查询:

我的爆炸代码:

$k = $_GET['sef'];
$s_explode = explode("-",$k);

foreach($s_explode as $q) {
  if($q==$s_explode[0]) {
echo '<a class="active" href="/category/'.$q.'">'.$s_explode[0].' <span class="dismiss">&times;</span></a>';
  } else {
echo '<a href="/category/'.$q.'">'.$q.' <span class="dismiss">&times;</span></a>';
  }
}

如果我使用GET

website.com/?sef=game-book-video

打印是:

<a class="active" href="/category/game">game</a>
<a href="/category/book">book</a>
<a href="/category/video">video</a>

我想如果我使用GET

website.com/?sef=game-book-video

<a class="active" href="/category/book-video">game</a>
<a href="/category/game-video">book</a>
<a href="/category/book-game">video</a>

我希望我能为我糟糕的英语道歉。

1 个答案:

答案 0 :(得分:0)

您的代码将是这样的:

$k         = $_GET['sef'];
$s_explode = explode("-", $k);
//game-book-video

foreach($s_explode as $i => $q) {
    $parts = $s_explode;

    if(($key = array_search($q, $parts)) !== false) {
        unset($parts[$key]);
    }

    $class = ($i == 0 ? "class='active'" : '');

    echo '<a ' . $class . ' href="/category/'.implode('-', $parts).'">'.$q.' <span class="dismiss">&times;</span></a>';
}