给$_GET变量赋一个新值


assign a new value to a $_GET variable

我们总是在$_GET['var']中检索值,但是也可以分配值吗?我有一个php页面,通过ajax,我想保持在同一页面,但改变查询字符串或做这样的赋值:

$_GET['myvar'] = 'newvalue';

这可能吗?

可以重写$_GET。但是,这只针对那个请求。

与ajax你做一个新的请求,在ajax调用你可以使用不同的值的数据

是的,您可以分配给$_GET数组,但它不会改变URL中的查询字符串。

这可能不是最明智的做法,因为它将在下一个请求中被覆盖

$_GET就像一个普通的数组。唯一的区别是,该数组的键将使用使用HTTP GET的请求附带的值自动填充。它们被称为超全局变量,因为它们在脚本中的任何地方都是自动和全局可用的,否则它们的行为就像普通数组一样。

如果你有一个像mypage.php?key=value这样的请求,PHP会自动为你做一些等于这个的事情:

$_GET['key'] = 'value';

就像任何常规数组一样,您可以用不同的值覆盖它。但是,我真的没有看到一个用例,除非你做一些测试或一些非常奇怪的事情。