Php 要检查序列化数组

Php 要检查序列化数组,php,mysql,wordpress,Php,Mysql,Wordpress,我必须从wordpress数据库中获取wp options表,并且必须取消序列化数据。我从数据库表中获取选项值的代码写在下面 function option_value_change () { global $wpdb; $myrows = $wpdb->get_results( "SELECT * FROM `wp_options`"); foreach ($myrows as $rows){ $option = get_option($rows->

我必须从wordpress数据库中获取wp options表,并且必须取消序列化数据。我从数据库表中获取选项值的代码写在下面

function option_value_change () {
  global $wpdb;
  $myrows = $wpdb->get_results( "SELECT *
  FROM `wp_options`");
    foreach ($myrows as $rows){
      $option = get_option($rows->option_name);
      modify_domain_name($option);
            echo $rows-> option_value ."<br />";
    }
}
功能选项\u值\u变化(){
全球$wpdb;
$myrows=$wpdb->get_结果(“选择*
从'wp_options`');
foreach($myrows作为$rows){
$option=获取选项($rows->option\u name);
修改域名($选项);
echo$rows->option_值。“
”; } }

现在我想检查序列化数据。如何将数据检查为序列化数据。如果是序列化数据,则如何取消序列化该数据。

可能会检查它是对象还是数组,如果不是,则取消序列化

<?php
if (!is_array($var) && !is_object($var)) {
  $var = unserialize($var);
}
?>

或者,根据您的数据是对象/数组还是序列化数据,您也可以只测试它是否是字符串

<?php
if (is_string($var)) {
  $var = unserialize($var);
}
?>

Wordpress有一个名为的函数,适合您的工作

顾名思义,函数只有在序列化变量时才会取消序列化

编辑:


我不知道您当前的需求,但万一您不知道,WordPress有一个函数,可以从
选项
表中读取一个值,如果需要,在返回给您之前将其取消序列化。

您可以使用取消序列化()。检查您可以为此使用php函数unserialize()和serialize()。我想检查数据(作为输出)是序列化的还是php脚本中的简单数据。比如是否序列化($rows->option_value))。