我处于原型阶段。我在page1.php中有一个链接,发送到下面的页面:
http://localhost/sayfa.php?rd_dil=turkish&rd_sayfa=yazilar&rd_yazar=ali_uysal&rd_baslik=kalem_ucu"
在此页面中echo $_GET['rd_dil']
工作并显示turkish
,但echo $ _GET [0]显示Notice : Undefined offset: 0
所以我想用数字方式(数字索引)使用$ _GET?我怎样才能实现这个目标?我读了php.net +堆栈溢出和googled但我无法解决我的问题。
答案 0 :(得分:3)
$ _ GET是一个关联数组,用于遍历它:
foreach($_GET as $key=>$value) {
....
}
如果您只想要数值数组中的值,可以使用:
$myData = array_values($_GET);
// here you have a numeric array containing the $_GET values
echo $myData[0];
答案 1 :(得分:2)
由于$_GET
是关联数组,因此您可以将值分配给新数组:
foreach($_GET as $key=>$val) {
$_GET2[] = $val;
}
或者您可以按照axel.michel的建议使用array_values
:
$_GET2 = array_values($_GET);
echo $_GET2[0];
答案 2 :(得分:0)
你不能直接这样做。但是有一些解决方法:
$indexed = array_values($_GET);
$first = $indexed[0];
$keys = array_keys($_GET);
$first = $_GET[$keys[0]];
$first = current(array_slice(array('foo'), 0, 1)));
答案 3 :(得分:-1)
是的,你做不到。这就是它的工作原理。
没有这样的指数。
您不需要数字索引,但必须使用关联键。
有两个原因导致您不应将$ _GET转换为枚举列表:
foreach()
进行迭代。如果你仍然不知道如何正确处理$ _GET - 请问这个问题,你会得到正确答案。