PHP序列化字符串格式

标签 php mysql wordpress serialization

在 MySQL(对于 wordpress)中,post_metadata 中有以下值:

a:1:{i:0;a:2:{s:5:"title";s:7:"Payment";s:19:"percentage_complete";s:1:"5";}}

我们这样做:

$value_percentage = array (
      0 => 
      array (
        'title' => 'Payment',
        'percentage_complete' => '15',
      ),
    );
$serializedData = serialize($value_percentage);
update_post_meta( $id, $field_percentage, $serializedData );

但是在数据库中有:

s:78:"a:1:{i:0;a:2:{s:5:"title";s:7:"Payment";s:19:"percentage_complete";s:2:"15";}}";

如何避免 s:78:"

我们还尝试了以下方法:

$value_percentage['percentage_complete'] = '15';

但是数据库中有s:78:"

最佳答案

您可以使用 maybe serializemaybe_unserialize存储和拉取数据的功能

也许反序列化

$string = 'a:1:{i:0;a:2:{s:5:"title";s:7:"Payment";s:19:"percentage_complete";s:1:"5";}}';
echo '<pre>', print_r(maybe_unserialize($string), 1), '</pre>';

输出是这样的,

Array (
    [0] => Array (
            [title] => Payment
            [percentage_complete] => 5
        )

)

也许序列化

$value_percentage = array (
      0 => 
      array (
        'title' => 'Payment',
        'percentage_complete' => '15',
      ),
);
echo '<pre>', print_r(maybe_serialize($value_percentage), 1), '</pre>';

输出是

a:1:{i:0;a:2:{s:5:"title";s:7:"Payment";s:19:"percentage_complete";s:2:"15 ";}}

关于PHP序列化字符串格式,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33851051/

相关文章:

php - 在另一个sql查询中使用查询结果

java - 无效的字符串值 : '\xD0...." for the column . ...“。utf8 字符集尝试使用

php - 对于特定国家/地区,在 Woocommerce 结账时将城市替换为所选的州值

php - 将 MySQL 计数列添加到 PHP/HTML 表

php - 让 PHP 停止替换 $_GET 或 $_POST 数组中的 '.' 个字符?

php - 使用ajax填充数据时Jquery DataTable排序不起作用

Php MySql 按小时排序自定义订单

mysql - 将两个选择合并为一个

php - WordPress自研AMP - 编辑查询如果URL是homepage.com/amp即可获取头版帖子

Javascript:多个按钮,1 个类,不能使用 id。按 1 个按钮更改所有