在鏈接中,您可以附加獲取參數。如果我想添加一個新的get參數給已經有一個的url。使用GET參數鏈接
舉例: 老:使用example.php HI =你好 新:使用example.php HI =你好你好&喜=
有沒有做這種方式的其他方式:
echo '<a href="'. $_SERVER['REQUEST_URI'].'&hello=hi">';
在鏈接中,您可以附加獲取參數。如果我想添加一個新的get參數給已經有一個的url。使用GET參數鏈接
舉例: 老:使用example.php HI =你好 新:使用example.php HI =你好你好&喜=
有沒有做這種方式的其他方式:
echo '<a href="'. $_SERVER['REQUEST_URI'].'&hello=hi">';
警告正在檢測問號是否存在。如果沒有,你需要添加它。一個快速和骯髒的方法是strpos:
if (strpos($_SERVER['REQUEST_URI'], '?') === false) {
$qsPart = '?';
} else {
$qsPart = '&';
}
$oldURL = $_SERVER['REQUEST_URI'];
echo '<a href="' . $oldURL . $qsPart . 'hello=hi">';
更健壯的方法是打破REQUEST_URI
,用parse_url和http_build_query檢查後重建,但可能超出範圍。
<?php
$params = array(
'hello' => 'hi',
'hi' => 'hello',
);
$url = $_SERVER['REQUEST_URI'] . '?' . http_build_query($params);
?>
<a href="<?php echo htmlentities($url); ?>">Link to tuther page</a>
當你鏈接到同一頁面,那麼你也不需要提供$_SERVER['REQUEST_URI']
,您只需提供參數,像這樣生成相對URL:
<a href="?<?php echo htmlentities(http_build_query($params)); ?>">
Link to tuther page</a>
echo '<a href="'.$_SERVER['REQUEST_URI'].'&hello=hi">';
或者你可以做一個函數,接受盡可能多的參數,只要你想。
<?php
$urlArray = array('value'=>'key', 'hi' => 'hello');
$url ='example.php';
function urlGenerator($url,$urlArray){
foreach ($urlArray as $key => $value) {
if($i==0){
$url .= '?'.$key.'='.$value;
}else{
$url .= '&'.$key.'='.$value;
}
$i++;
}
return $url;
}
echo urlGenerator($url,$urlArray);
//Output: example.php?value=key&hi=hello
我沒有意識到你只是試圖訪問當前的URL。無論如何,我會離開它,因爲它有任何用處。否則,請參閱@webbiedave評論。 – 2012-03-08 23:30:03
'回聲「」;' – 2012-03-08 23:17:28
謝謝回答這麼快,但我的意思,如果有被其他任何方式比使用$ _SERVER ['REQUEST_URI']。 – ZyteX 2012-03-08 23:23:15
你是什麼意思?這不夠簡單嗎? – markus 2012-03-08 23:24:59