我正在尝试将 3 个参数传递给脚本,其中第三个参数$_GET['value3']
应该是一个数组
$_GET['value1']
$_GET['value2']
$_GET['value3'] //an array of items
我这样调用脚本:(注意我的语法value3
,我不确定这是否正确)
http://localhost/test.php?value1=test1&value2=test2&value3=[the, array, values]
然后我使用 foreach 希望循环遍历第三个参数value3
这是数组
//process the first input $_GET['value1']
//process the second input $_GET['value2']
//process the third input $_GET['value3'] which is the array
foreach($_GET['value3'] as $arrayitem){
echo $arrayitem;
}
但我得到了错误Invalid argument supplied for foreach()
我不确定我的方法是否正确。有人可以澄清一下你会如何做这类事情吗
不存在“将数组作为 URL 参数传递”(或表单值,就此而言,因为这是同一件事)这样的事情。这些是字符串,除此之外发生在它们身上的任何事情都是内置在应用程序服务器中的魔法,因此它是不可移植的。
PHP恰好支持&value3[]=the&value3[]=array&value3[]=values
自动创建的符号$_GET['value3']
作为一个数组,但这对于 PHP 来说是特殊的,在其他地方不一定有效。
您也可以直接选择更简洁的 URL,如下所示:value3=the,array,values
,然后使用explode(',', $_GET['value3'])
在 PHP 脚本中创建一个数组。当然,这意味着您的分隔符不能是该值的一部分。
要通过 HTTP 明确传输结构化数据,请使用为此目的而制定的格式(即:JSON),然后使用json_decode()
在 PHP 方面。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)