如何在PHP的GET中传递数组?

2022-08-30 16:54:12
$idArray = array(1,2,3,4);

我可以用HTML写这行吗?

<form method='POST' action='{$_SERVER['PHP_SELF']}?arr={$idArray}'>

或者我应该写:

<form method='POST' action='{$_SERVER['PHP_SELF']}?arr[]={$idArray}'>

它将如何通过?

我应该如何在被调用的页面中处理它?

谢谢!!


答案 1

如果要将数组作为参数传递,则必须为每个元素添加一个参数。您的查询字符串将变为:

?arr[]=1&arr[]=2&arr[]=3&arr[]=4

正如其他人所写的那样,您还可以序列化和解序列化数组。

但是,您真的必须再次将数据发送给客户端吗?看起来您只需要一种方法来在请求之间保留数据

在这种情况下,最好使用会话(docs)。</</b30>a0>这也更安全,否则客户端可以修改数据。


答案 2

使用和PHP功能。此函数为您提供数组类型的可存储(字符串)版本。有关用法的详细信息,请阅读 http://php.net/manual/en/function.serialize.phphttp://www.php.net/manual/en/function.unserialize.phpserializeunserialize