我试图使用for循环或每个循环将get查询中的值推送到另一个变量。我可以对这种方法有所帮助吗?
好的,我就在这里:
for ($i = 0 ; i < $_GET['delete']; i++) {
$_jid [] = $_GET['delete'];
}
答案 0 :(得分:2)
你实际上并不需要循环。如果$_jid
已经是包含某些值的数组,请考虑将其与$_GET['delete']
合并。
if (is_array($_jid)) {
$_jid = array_merge($_jid, $_GET['delete']);
}
如果$_jid
不是数组且除了作为$_GET['delete']
的容器之外不存在,您可以只分配数组。根本不需要循环。
$_jid = $_GET['delete'];
当然,在这种情况下,您甚至不需要复制它。您可以在计划从$_GET['delete']
读取的任何上下文中直接使用$_jid
。
更新
如果$_GET['delete']
的内容最初是923,936
,那么不是一个数组,而是一个字符串。如果你想要一个数组,你需要explode()
分配它:
$_jid = explode(',', $_GET['delete']);
但是如果你打算最后implode()
,那么显然没有必要这样做。您已经拥有了所需的逗号分隔字符串。
答案 1 :(得分:1)
正如您所看到的那样var_dump($_GET)
,变量$_GET
是一个散列图。
您可以轻松使用foreach
循环查看其中的每个成员:
foreach($_GET as $get) // $get will successively take the values of $_GET
{
echo $get."<br />\n"; // We print these values
}
上面的代码将打印$_GET
成员的值(您可以使用空白页和无效的$_GET
值进行尝试,因为&#34; http://yoursite.usa/?get1=stuff&get2=morestuff&#34; )
您可以将$ _GET值放入数组(或其他变量)中,而不是echo
:
$array = array(); // Creating an empty array
$i = 0; // Counter
foreach($_GET as $get)
{
$array[$i] = $get; // Each $_GET value is store in a $array slot
$i++;
}
在PHP中,foreach
非常有用且非常易于使用。
但是,您不能for
使用$_GET
,因为它是一个散列图,而不是一个数组(实际上,您可以,但它更复杂)。
希望我帮助