Unserialize在php 5.5.26中不起作用

时间:2016-09-08 16:29:56

标签: php arrays

我有一个功能,它将序列化的数据,变成数组,添加到数组,然后将其推回到MySQL数据库完美....在PHP 7.当我上传为客户端他们有PHP 5.5。 26现在它不起作用。看起来unserialized变量仍然有一个字符串,而不是数组,因此它不会添加它。

什么在php 7中工作

       $dashboard = DB::queryFirstField("SELECT dashboard_array FROM compel_dashboard 
                                      WHERE user_id = %i", $user_id);

        $array = unserialize($dashboard);
        array_push($array, $dashboard_item);


        $query  = DB::update('compel_dashboard', array(
                        'dashboard_array' => serialize($array)
                      ), "user_id=%s", $user_id);

发生了什么事:

$dashboard包含string(27) "s:19:"dashboard-recommend";"

$array包含string(19) "dashboard-recommend"

所以显然我不能push_array到一个字符串。这是怎么回事?为什么这适用于PHP 7?

0 个答案:

没有答案