由于我使用了foreach循环,因此显示了所有参数。我有几个参数要包含在我的网址中,但我想删除最后一个参数及其自动显示的值。代码如下:
<?php
$query = explode('&', $_SERVER['QUERY_STRING']);
$params = array();
foreach( $query as $param )
{
list($name, $value) = explode('=', $param, 2);
echo $params[urldecode($name)][] = urldecode($value);
echo "<br/>";
}
echo "<br/> Total amount placed: ".$total = $_GET["total"];
?>
网址是这个:
confirmation.php?betSlip=Juve&betSlip=Milan&total=0.43
正如您所看到的,url由betSlip参数中的几个项组成,它包含所有项的总和。我想删除foreach循环中显示的总数,并且只有在我调用它时才能显示它。
由于
答案 0 :(得分:1)
DavidDomain是对的。您可以选择取消设置数组中的特定键值对,如果您不能保证它始终是最后一个数组元素。
$params = $_GET;
unset($params['total']);
// $params is now array('betSlip' => 'Juve', 'betSlip' => 'Milan');
答案 1 :(得分:0)
只需使用array_pop
删除$query
数组的最后一个元素。鉴于total
永远是最后一个参数。
$params = "betSlip=Juve&betSlip=Milan&total=0.43";
$query = explode('&', $params);
array_pop($query); // remove the last element of $query
$params = array();
foreach( $query as $param )
{
list($name, $value) = explode('=', $param, 2);
echo $params[urldecode($name)][] = urldecode($value);
echo "<br/>";
}
echo "<br/> Total amount placed: ".$total = $_GET["total"];