数据库中存储的stdObject。如何将其转换为可用的格式?

时间:2016-06-14 作者:Denialos

所以我登录了phpmyadmin,查看了数据是如何存储在表中的,并查看了它的“数据”列内容(粘贴在下面):

a:8:{i:2;O:8:"stdClass":2:{s:5:"label";s:6:"Vardas";s:5:"value";s:1:"A";}i:3;O:8:"stdClass":2:{s:5:"label";s:8:"Pavardė";s:5:"value";s:1:"G";}i:1;O:8:"stdClass":2:{s:5:"label";s:11:"El. paštas";s:5:"value";s:6:"[email protected]";}i:4;O:8:"stdClass":2:{s:5:"label";s:7:"Adresas";s:5:"value";s:1:"e";}i:5;O:8:"stdClass":2:{s:5:"label";s:8:"Tel. nr.";s:5:"value";s:1:"3";}i:6;O:8:"stdClass":2:{s:5:"label";s:7:"Mie";s:5:"value";s:7:"Vilnius";}i:7;O:8:"stdClass":2:{s:5:"label";s:5:"Ly";s:5:"value";s:7:"M";}i:8;O:8:"stdClass":2:{s:5:"label";s:11:"Gimimo data";s:5:"value";s:10:"2016-05-12";}}

我知道这是一个简单地传递到数据库表行的std对象。如何将此数据转换为可用格式(数组或对象)?

或者更好——WP中通常使用哪些命令将数据存储在数据库表的列中,以便我可以找到插件的源代码并自己编辑它。

非常感谢您的帮助。

1 个回复
最合适的回答,由SO网友:Pat J 整理而成

unserialize() 信息技术

请注意,大多数WordPress功能将自动unserialize() 使用前请先查看数据库内容。例如,请参见Used By 的列表maybe_unserialize(). 我敢肯定,这并不是一份详尽的清单。

但是如果您直接从数据库中检索数据——因为没有WordPress函数来实现您需要做的事情——那么您需要unserialize() 结果。

例如:

$x = $wpdb->get_results( \'{your SQL query}\' );
// $x will be a serialized string
$unserialized_results = unserialize( $x );
您提供的示例实际上是一个8的数组stdObjects、 带着钥匙18 (除非我读错了,这绝对是可能的)。所以这个数组就是$unserialized_results 在我的代码片段的末尾。

相关推荐

Bulk Action in wp_list_table

我只想对delete函数执行批量操作。我在谷歌上研究了这么多例子,但还是做不到。如果有人能帮我解决这个问题,我将不胜感激。下面是我的代码。当选择并选择“在下拉列表中删除”并单击“应用”时,不会发生任何情况。public function get_bulk_actions(){ $action = array( "delete" =>"Delete" ); return $action; &