繁体   English   中英

如何在PHP中正确序列化和反序列化数组?

[英]How serialize and unserialize correctly an array in PHP?

$array = array(
    'host_name' => array(
        'ip_add' => '127.0.0.1',
        'is_allow' => 0,
    ),
);
$str = serialize($array);

此值插入了我的网站。 并使用php函数file_get_contents读取它,我从该页面获得此结果

a:1:{s:9:"host_name";a:2:{s:6:"ip_add";s:9:"127.0.0.1";s:8:"is_allow";i:0;}}

并尝试将其反序列化,但它会显示如下通知:-

注意:unserialize():/ Applications / XAMPP / xamppfiles / htdocs / admin中的116字节偏移5处出错

如果您想反序列化,则可以使用如下代码:

<?php

$result = 'a:1:{s:9:"host_name";a:2:{s:6:"ip_add";s:9:"127.0.0.1";s:8:"is_allow";i:0;}}';

$decoded = unserialize($result);

print_r($decoded);

?>

是一样的:

<?php

$array = array('host_name' => array('ip_add' => '127.0.0.1', 'is_allow' => 0));
$str = serialize($array);

$decoded = unserialize($str);

print_r($decoded);
?>

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM