在PHP中反序列化序列化的数组

3

我有一个数组,其中所有的键值都是序列化的,以下是示例代码:

Array
(
    [Entry1] => Array
    (
        [emergency_contact] => s:205:"a:5:{s:22:"emergency_contact_name";s:0:"";s:23:"emergency_contact_email";s:0:"";s:23:"emergency_contact_phone";s:0:"";s:26:"emergency_contact_relation";s:0:"";s:30:"emergency_contact_rx_allergies";s:0:"";}";
        [email] => s:23:"h.v@gmail.com";
        [c_address] => s:14:"1067 Broad Way";
        [c_address2] => s:6:"Mangal";
        [c_postcode] => s:5:"12345";
        [c_city] => s:14:"Sans Frnasisco";
        [c_state] => s:7:"LOS";
        [c_country_of_residence] => s:3:"109";
    )
    [Entry2] => Array
    (
        [emergency_contact] => s:205:"a:5:{s:22:"emergency_contact_name";s:0:"";s:23:"emergency_contact_email";s:0:"";s:23:"emergency_contact_phone";s:0:"";s:26:"emergency_contact_relation";s:0:"";s:30:"emergency_contact_rx_allergies";s:0:"";}";
        [email] => s:23:"h.v@gmail.com";
        [c_address] => s:14:"1067 Broad Way";
        [c_address2] => s:6:"Mangal";
        [c_postcode] => s:5:"12345";
        [c_city] => s:14:"Sans Frnasisco";
        [c_state] => s:7:"LOS";
        [c_country_of_residence] => s:3:"109";
    )
)

有没有办法可以查看所有的数据变化,然后再以相同的方式重新序列化它?谢谢。

1个回答

1
array_walk_recursive($array, function (&$value) { $value = unserialize($value); });

// do something with the array

array_walk_recursive($array, function (&$value) { $value = serialize($value); });

但是实际上,将每个单独的值序列化是相当疯狂的。如果可以的话,你应该停止这样做。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接