【问题标题】:Way to get and edit GET variables in order to make hyperlinks获取和编辑 GET 变量以创建超链接的方法
【发布时间】:2011-07-08 04:20:20
【问题描述】:

假设我有像 somefile.php?sort=id&way=desc 这样的 URL。

我想编写一个函数(或使用已经创建的函数),它可以让我将下一个变量添加到 URL 并设置我想要删除的变量。

我想到了类似function editGetVar("$add","$leave") 之类的东西,其中$add 将是包含要添加到 URL 的新变量的数组,$leave 将是包含必须保留在 URL 中的变量的数组。

例子:

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

我想删除“买家”并添加“操作”,那么a href 将如下所示:

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

如果您有任何想法,我将不胜感激。

【问题讨论】:

    标签: php hyperlink get global-variables


    【解决方案1】:

    例子:

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

    您可以将变量添加/编辑为:

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

    你可以删除为:

    unlink( $_GET[ 'sort' ] );
    

    你可以自己把它包装成一个函数;)

    【讨论】:

    • 是的,打字会很无情
    【解决方案2】:

    我相信您可以将 URI 与 $parts = parse_url($my_uri) 分开,操作生成的数组并将其与 http_build_query 函数结合在一起。

    【讨论】:

      【解决方案3】:

      使用http_build_query:

      <?php
      unset($_GET['buyer']);
      $_GET['action'] = 'edit';
      
      print '<a href="somefile.php?' . http_build_query($_GET) . '">!!</a>';
      ?>
      

      【讨论】:

      • 正是我想要的。谢谢。
      • 虽然不修改 $_GET 变量是明智之举,但请​​先复制一份
      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2013-07-15
      • 2015-06-18
      • 1970-01-01
      • 1970-01-01
      • 2015-06-16
      • 1970-01-01
      • 2012-10-11
      相关资源
      最近更新 更多