将序列化数据添加到数组 - PHP

时间:2016-06-15 10:40:43

标签: php arrays serialization array-merge

我有三个序列化的数据结构。

a:2:{i:0;s:151:"[["1","0","0","1","0","0","1","0","1","0","0","0"],["1","0","0","0","1","0","0","0","1","0","1","1"],["1","0","1","0","1","0","1","0","1","0","0","1"]]";i:1;s:151:"[["1","0","1","0","1","0","1","0","1","0","1","0"],["1","0","1","0","1","1","0","1","0","1","0","1"],["1","0","1","0","1","0","1","1","1","0","1","1"]]";}


a:2:{i:0;s:163:"[["10","0","0","0","30","0","0","60","0","0","0","0"],["20","0","0","30","0","0","20","0","0","0","50","0"],["30","0","0","0","20","0","0","30","0","20","0","30"]]";i:1;s:154:"[["20","0","0","0","0","0","0","0","0","0","0","0"],["30","0","0","0","0","0","0","0","0","0","0","0"],["40","0","0","0","0","0","0","0","0","0","0","0"]]";}


a:4:{i:0;s:151:"[["1","0","0","1","0","0","1","0","1","0","0","0"],["1","0","0","0","1","0","0","0","1","0","1","1"],["1","0","1","0","1","0","1","0","1","0","0","1"]]";i:1;s:151:"[["1","0","1","0","1","0","1","0","1","0","1","0"],["1","0","1","0","1","1","0","1","0","1","0","1"],["1","0","1","0","1","0","1","1","1","0","1","1"]]";i:2;s:151:"[["1","1","1","0","1","1","1","0","0","0","1","1"],["1","1","1","0","0","1","1","1","1","0","1","1"],["1","1","1","1","0","0","1","1","1","1","1","1"]]";i:3;s:151:"[["1","0","1","0","0","0","1","0","1","0","0","2"],["1","0","0","2","1","0","1","0","1","1","0","1"],["1","0","2","1","1","1","0","1","0","1","1","1"]]";}

我想将所有三个序列化数据添加到单个序列化array中。

我尝试了这段代码及其工作,但我希望能够添加其他数据。

$data2=unserialize($value['monthly_forecast']);
$data1=unserialize($temp['monthly_forecast']);
//print_r($data1);
$combinedData = array($data1, $data2);
$monthly_forecast=serialize($combinedData);
$temp['monthly_forecast']=$monthly_forecast;

1 个答案:

答案 0 :(得分:0)

然后unserialize然后array_merge()然后serialize合并后的数组呢?请注意,array_merge()可用于

  

合并一个或多个数组

所以你应该可以在你的情况下应用它。

修改

你有几个选择。您可以unserializemerge将所有内容合并为一个数组,然后serialize。或者,你也可以:

$array = array($serialized_data_1, $serialized_data_2, $serialized_data_3);
$all_serialized = serialize($array);

然后,访问数据:

$all_unserialized =  unserialize($array);
$unserialized_data_1 = unserialize(all_unserialized[0]);
$unserialized_data_2 = unserialize(all_unserialized[1]);
$unserialized_data_3 = unserialize(all_unserialized[2]);