我必须从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 />";
}
}
现在我要检查序列数据。如何将数据作为序列化数据进行检查。如果是序列化数据,那么如何对数据进行反序列化。
答案 0 :(得分:0)
也许检查它是对象还是数组,如果没有,则将其反序列化。
<?php
if (!is_array($var) && !is_object($var)) {
$var = unserialize($var);
}
?>
或者,根据您的数据是对象/数组还是序列化数据,您还可以测试它是否为字符串。
<?php
if (is_string($var)) {
$var = unserialize($var);
}
?>
答案 1 :(得分:0)
Wordpress有一个名为maybe_unserialize()的功能,适合您的工作。
顾名思义,该函数只有在序列化时才会反序列化。
修改强>
我不知道你当前的需求,但是如果你不知道,WordPress有一个get_option()函数,它从options
表中读取一个值,如果需要,在返回之前反序列化它它给你。