如何在 php 中从 url 获取参数


How to get arguments from url in php?

我已经阅读了一些堆栈溢出中的帖子以部分解决我的问题,但我找不到答案。 我的 url 中有 2 个参数"www.site.com/?page=1&f[0]=bundle"$_REQUEST['page']有效,但是当我尝试使用$_REQUEST['f[0]']时它不起作用。我想根据 url 跳过部分编码。那么如何使用!isset($_REQUEST['f[0]'])或类似的测试呢?

它们是 GET 参数。

$_GET['page']; // = 1
$_GET['f'][0]; // = bundle

应该工作。

当你传递带有方括号的变量时,这意味着PHP代码中的这个变量将是一个数组。因此,要访问它,请使用以下内容:

$_REQUEST['f'][0]
// or $_GET['f'][0]

用于在 URL 中传递变量的格式是 url 本身,后跟问号,后跟变量列表和变量数据,由 & 符号分隔。例:

www.domain.com/index.php?variable1Name=theFirstValue&variable2Name=theSecondValue

$variable1 = $_GET['variable1Name'];
$query1 = "SELECT * FROM table1 WHERE recodrID = $variable1";
$variable2 = $_GET['variable2Name'];
$query2 = "SELECT * FROM table2 WHERE recodrID = $variable2";

我现在应该指出一点,要使W3C在xhtml strict中有效,你不能在代码中的任何位置使用&符号,相反,你必须在源代码中使用&,它被浏览器解析为与号。因此,如果您想在 html 中链接到上述 URL 示例,链接代码如下所示:

<a href="www.domain.com/index.php?variable1Name=theFirstValue&amp;variable2Name=theSecondValue">Link Title</a>

我希望这对:)有所帮助

你的

第二个参数是一个数组,试试这个:

$_REQUEST['f'][0]
嗨,

你可以试试这个:

$get_data = $_GET; // this is an array of all get parameter and value 
$pageval =   $get_data['page'];
$fval =  $get_data['f'][0];

echo $pageval;
echo $fval;

在 PHP 中,您可以使用 3 个全局数组来处理来自请求的数据。

$_REQUEST 是通用数组(GET、POST、COOKIE)

$_GET - 仅限 GET 请求

$_POST - 仅限邮寄

因此,您可以通过两种方式从请求中获取 f 数组:

$f = $_REQUEST['f'];
print_r($f);

$f = $_GET['f'];
print_r($f);