Way to get and edit GET variables in order to make

2019-03-28 22:33发布

Let's say that I have URL like somefile.php?sort=id&way=desc.

I want to write a function (or use already made one) that would let me add next variables to URL and set which I want to delete.

I thought about something like function editGetVar("$add","$leave") where $add would be array with new variables to add to URL and $leave would be array with variables that must stay in URL.

Example:

somefile.php?sort=id&way=desc&buyer=retailer

and I want to delete "buyer" and add "action", then the a href would look like this:

<a href="somefile.php?sort=id&way=desc&action=edit">

I would appreciate any ideas from you.

3条回答
Summer. ? 凉城
2楼-- · 2019-03-28 23:10

Use http_build_query:

<?php
unset($_GET['buyer']);
$_GET['action'] = 'edit';

print '<a href="somefile.php?' . http_build_query($_GET) . '">!!</a>';
?>
查看更多
做自己的国王
3楼-- · 2019-03-28 23:11

I believe you can split up the URI with $parts = parse_url($my_uri), manipulate the resulting array and stick it back together with the http_build_query function.

查看更多
我欲成王,谁敢阻挡
4楼-- · 2019-03-28 23:12

Example:

$url = '?';
foreach( $_POST as $key => $value )
{
    $url .= $key . '=' . $value . '&';
}

You can add/edit a variable as:

$_GET[ 'sort' ] = 'asc';

You can delete as:

unlink( $_GET[ 'sort' ] );

You can wrap it into a function yourself ;)

查看更多
登录 后发表回答