JS反序列化PHP序列化的数组

JS unserializing a PHP serialized array

本文关键字:数组 序列化 PHP 反序列化 JS      更新时间:2023-09-26

我有一个php made数组:

<?php information = array (
    'name' => 'John',
    'surname' => 'Doe'
); ?>

我用php序列化了这个数组并把它放到了input的value中:

<input type="hidden" id="information" name="information" value="<?php echo htmlentities(serialize($hidden_information)); ?>" />

现在是JS部分。我得到这个输入的值:

var information = $('input#information').val();

问题部分:我现在如何用JS反序列化这个PHP序列化数组?我想反序列化"信息"变量。
当它将被反序列化时,我想从数组中提醒name和姓氏。

或者,是否有任何可能的方法可以在不反序列化数组的情况下获得此名称和姓氏?

你需要将数组转换为JSON格式,这将使JS更容易理解,所以在你的html:

<input type="hidden" id="information" name="information" value="<?php echo htmlentities(serialize($hidden_information)); ?>" //This will comunicate with PHP
<input type="hidden" id="js_information" name="js_information" value="<?php echo json_encode($hidden_information); ?>" />

information输入用于与PHP通信,js_information用于与JS通信。然后你可以在JS中使用:

var information = JSON.parse($('#js_information').val());
注意:你需要PHP 5.2或更高版本,也没有必要把输入在jQuery选择器中,因为你已经指定了ID '