what is the difference between ? and & in URLs?
e.g. http://www.site.com/index.php?someVar=value&otherVar=value
?
标记查询字符串的开始,用于&
分隔查询字符串中的各个变量。
因此,例如,我将修改您的示例以使其更加清晰:
http://www.site.com/index.php?someVar=firstVal&otherVar=secondVal
URL 的“位置”部分是所有内容,但不包括?
,所以它很简单:
http://www.site.com/index.php
这就是您的 Web 服务器将用来查找要执行的脚本的内容。然后它将拆分查询字符串(之后的所有内容?
)并将其传递给您的脚本(或更准确地说,传递给 PHP)。查询字符串将是:
someVar=firstVal&otherVar=secondVal
然后 PHP 将解析查询字符串,使用&
变量之间的分隔符。所以这个查询字符串将包含两个变量:someVar
with valuefirstVal
和otherVar
with value secondVal
。
PHP会将解析查询字符串的结果存储在$_GET
超级全局变量中,它只是一个关联数组,其中键是参数的名称,值当然是关联的值。
因此,在 PHP 中,如果您var_dump($_GET)
使用此示例,它将如下所示:
array(2) {
["someVar"]=>
string(5) "firstVal"
["otherVar"]=>
string(5) "secondVal"
}
?
意思是“参数来了”,所以它是第一个
&
意思是“另一个参数来了”,所以它是连续值