gpt4 book ai didi

mysql - 从序列化数据中检索特定字段

转载 作者:行者123 更新时间:2023-11-29 00:06:14 26 4
gpt4 key购买 nike

假设我有以下数据:

a:1:{s:4:"date";a:3:{s:2:"mm";s:2:"12";s:2:"dd";s:2:"06";s:2:"yy";s:4:"1991";}}

我想要那个序列化字符串中 mmdd 的值。

我有以下查询来检索上述数据:

$birthday = "select meta_key, meta_value from $wpdb->usermeta where meta_key='pie_date_5'";

$user_birthday = $wpdb->get_results($birthday);

foreach($user_birthday as $ubday){
$ubd = $ubday->meta_value; echo $ubd;
echo json_decode($ubd[0]->mm);

}

我做不到这么简单的事情。请帮帮我。

最佳答案

您必须使用 unserialize 而不是 json_decode 因为它是一个序列化字符串
所以你可以尝试这样的事情:

$user_birthday = 'a:1:{s:4:"date";a:3:{s:2:"mm";s:2:"12";s:2:"dd";s:2:"06";s:2:"yy";s:4:"1991";}}'; //the serialized string you get from your query

$upday = unserialize( $user_birthday );


echo $upday['date']['mm'] . PHP_EOL;
echo $upday['date']['dd'];


编辑:如果您想从$upday 数组中读取所有属性,您可以使用foreach-loop

foreach ( $upday['date'] as $key => $value ) :
echo $key . ' = ' . $value . PHP_EOL;
endforeach;

关于mysql - 从序列化数据中检索特定字段,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27330187/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com