如何让 $_GET['ago'] 变量增加 1
public function __construct($future=false) {
$GLOBALS['twd_helper']=&$this;
}
public function query_string($add, $remove=null) {
$qs_data = array();
parse_str($_SERVER['QUERY_STRING'], $qs_data);
$qs_data = array_merge($qs_data, $add);
if ($remove) {
foreach($remove as $key) {
if (isset($qs_data[$key])) {
unset($qs_data[$key]);
}
}
}
return http_build_query($qs_data);
}
public function filter_overnight () {
if (isset($_GET['tod']) && $_GET['tod'] == 'overnight') {
$overnight = $_GET['overnight'];
}
if (($_GET['ago'])) {
$_GET['ago'] ? $_GET['ago']++ : $_GET['ago'] = 0;
}
}
我想将我的 URL 更改为每次点击时增加 1 指南?前=1 指南?前=2 指南?前=3 等等
在 html 中,只需执行以下操作:
<a href="my_link.php?ago=<? echo (int)$_GET['ago'] + 1 ?>">Link Text</a>
你的 filter_overnight 函数也有点奇怪 - 我认为它可以变得更具可读性:
if ($_GET['ago'])
{
$_GET['ago'] = (int)$_GET['ago'] + 1;
}
else
{
$_GET['ago'] = 0;
}
或使用三元:
$_GET['ago'] = ($_GET['ago']) ? (int)$_GET['ago'] + 1 : 0
在没有看到整个代码的情况下,我不确定为什么 filter_overnight 会递增 $_GET['ago'],但乍一看,它似乎通过更改全局值(这也会渲染 中的增量毫无意义)。 PHP 中的超全局变量可能是危险的事情 - 我发现最好将它们视为不可变并从中复制值,而不是直接处理它们。