【发布时间】:2013-07-02 07:17:25
【问题描述】:
我想将具有 30 个值的整数数组 Integer[] temp = new Integer[30] 超过 HTTP (POST) 发送到 PHP 并再次获取 PHP 中的数据。我怎样才能做到这一点?我知道如何发送单个值,如字符串,但不知道如何发送数组。
【问题讨论】:
我想将具有 30 个值的整数数组 Integer[] temp = new Integer[30] 超过 HTTP (POST) 发送到 PHP 并再次获取 PHP 中的数据。我怎样才能做到这一点?我知道如何发送单个值,如字符串,但不知道如何发送数组。
【问题讨论】:
一种方法是以php serialize command 的方式序列化数组。 接收到字符串值后(通过你当前使用的方法),你可以使用unserialize command在你的php代码中获取数组。
这是一个小 php 示例来演示工作流程。
$arr = array(1,2,3,4,5,6);
$stringArr = serialize($arr);
echo $stringArr;
echo "<br/>";
$arr2 = unserialize($stringArr);
if ($arr === $arr2)
{
echo "arrays are equal";
}
脚本的输出是:
a:6:{i:0;i:1;i:1;i:2;i:2;i:3;i:3;i:4;i:4;i:5;i:5;i:6;}
arrays are equal
主要困难是为复杂结构构造生成的字符串(在您的情况下,对于整数数组来说非常简单)。 这一事实导致了第二种方法。
可以使用序列化 API 或其他符号,而不是 php 示例中使用的符号。
正如其他人所说,JSON 是一种广泛使用的符号。
PHP 还提供了序列化和反序列化 json 对象的可能性。
只需使用json_decode 并查看手册中的示例。
【讨论】: