如何解决如何从mysql的meta_value中提取某些数据
| 我在wordpress中有一个表格,表格中的内容为wp_usermeta
,其中包含and1 called,还有一个名为holds2ѭ的值,其中包含一堆串联值,如下所示。
如何提取此值中monthly_uniques
旁边的数据?
a:12:{
s:7:\"country\";
s:2:\"CA\";
s:4:\"city\";
s:8:\"Brampton\";
s:5:\"state\";
s:7:\"Ontario\";
s:8:\"zip_code\";
s:6:\"L6T4E7\";
s:3:\"age\";
s:13:\"25–34 years\";
s:8:\"blog_url\";
s:22:\"http://www.blog.com\";
s:16:\"blog_description\";
s:106:\"A blog about blogging\";
s:15:\"monthly_uniques\";
s:4:\"1000\";
s:13:\"facebook_page\";
s:55:\"http://www.facebook.com/myfacebookpage\";
s:14:\"facebook_likes\";
s:3:\"128\";
s:15:\"twitter_account\";
s:31:\"http://twitter.com/mytwitterpage\";
s:17:\"twitter_followers\";
s:3:\"392\";}
实际上,这些值都在一行上,为清楚起见将它们放在单独的行上
我需要以不同的方式提取此数据以显示报告。我如何添加以下语句来提取montly_uniques
,城市,邮政编码等?
解决方法
当Wordpress在其数据库中输入数组时,它将执行称为序列化的操作,该操作会将数组转换为您提供的字符串格式。要反转此过程并返回相同的数组,您只需要通过PHP的内置unserialize()函数在上方运行该字符串,该函数将以您上面提到的方式返回一个关联数组。
所以像这样:
$string = \'a:12:{s:7:\"country\";s:2:\"CA\";s:4:\"city\";s:8:\"Brampton\";s:5:\"state\";s:7:\"Ontario\";s:8:\"zip_code\";s:6:\"L6T4E7\";s:3:\"age\";s:13:\"25–34 years\";s:8:\"blog_url\";s:22:\"http://www.blog.com\";s:16:\"blog_description\";s:106:\"A blog about blogging\";s:15:\"monthly_uniques\";s:4:\"1000\";s:13:\"facebook_page\";s:55:\"http://www.facebook.com/myfacebookpage\";s:14:\"facebook_likes\";s:3:\"128\";s:15:\"twitter_account\";s:31:\"http://twitter.com/mytwitterpage\";s:17:\"twitter_followers\";s:3:\"392\";}\';
$array = unserialize($string);
$array[\'monthly_uniques\']; //This will give you the monthly_uniques field.
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。