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 将解析查询字符串,使用&变量之间的分隔符。所以这个查询字符串将包含两个变量:someVarwith valuefirstVal和otherVarwith value secondVal。
PHP会将解析查询字符串的结果存储在$_GET超级全局变量中,它只是一个关联数组,其中键是参数的名称,值当然是关联的值。
因此,在 PHP 中,如果您var_dump($_GET)使用此示例,它将如下所示:
array(2) {
["someVar"]=>
string(5) "firstVal"
["otherVar"]=>
string(5) "secondVal"
}
?意思是“参数来了”,所以它是第一个
&意思是“另一个参数来了”,所以它是连续值