Php 将数组设置为cookie值时出现问题

Php 将数组设置为cookie值时出现问题,php,arrays,cookies,Php,Arrays,Cookies,我需要将数组设置为cookie的值,在这里我找到了合理的解决方案:。以下是我尝试过的: <?php $array=array(); foreach($columnList as $c_list) { foreach($c_list as $one_member) { echo '<button class="btn btn-default" type="button"><b>' . $one_membe

我需要将数组设置为cookie的值,在这里我找到了合理的解决方案:。以下是我尝试过的:

<?php        
   $array=array();
   foreach($columnList as $c_list) {
       foreach($c_list as $one_member) {
           echo '<button class="btn btn-default" type="button"><b>' . $one_member . '</b></button>';
           array_push($array,$one_member);
       }
   }
   setcookie('new_column',serialize($array), time() + (10 * 365 * 24 * 60 * 60));
?>
它只显示第一个值,即第一个
$one_成员
。当我这样做的时候:

$data=unserialize($_COOKIE['new_column']);
print_r($data);
它基本上什么也不显示。我做错了什么

更新: 我发现了这个问题的前一期是什么,现在是:我试着把这个放进去:

foreach($c_list as $one_member) {
    echo '<button class="btn btn-default" type="button"><b>' . $one_member . '</b></button>';
    $array=array();
    $array[]=$one_member;
 }
foreach($c_列表为$one_成员){
回显“.$1_成员”;
$array=array();
$array[]=$one_成员;
}

没有
array\u push
,只返回最后一个
$one\u成员
。所以我首先需要解决这个问题,以便在cookie中放入足够的数组,但我甚至不知道为什么会出现这种情况。

试试这个:是
setcookie()
似乎不起作用还是数组正在填充?您可以通过打印
$array
和/或
序列化($array)
的结果进行检查。似乎
array\u push
不起作用,因为当I
print\r($array)
时,它不显示任何内容。
foreach($c_list as $one_member) {
    echo '<button class="btn btn-default" type="button"><b>' . $one_member . '</b></button>';
    $array=array();
    $array[]=$one_member;
 }