【发布时间】:2017-10-06 14:53:46
【问题描述】:
在wp_posts WordPress 表中,我为帖子(自定义帖子类型)存储了一行,该行在post_content 列中存储了以下内容:
Array
(
[test_price] => 39.00
[test_elegibility] => Eligible
[test_confirmation] => confirmed
[test_id] => DUA6A44THQH7U
...
)
当我通过以下方式查询表时:
$query = $wpdb->get_results( 'SELECT * FROM wp_posts where post_type = "custom_post_type"' );
foreach($query as $q) {
$content = $q->post_content;
var_dump($content);
}
上面每个变量的var_dump结果显然如下:
string(1369) string(1311)
以此类推,因为 post_content 字段目前基本上保存为字符串以供我使用,它包含我要提取的数组。
我知道我可以去掉/过滤掉括号、方括号等,然后循环遍历每个实例,从而很容易地直接从 post_content 字段值创建一个关联数组,这很好。
我的问题是,我是否错过了一个技巧,我可以通过简单地将字符串分配给变量来立即将字符串分配为数组?例如,使用上面的:
foreach($query as $q) {
$content = $q->post_content;
var_dump($content);
}
结果是每个var_dump 应该理想地打印出来:
array(2) { 'te' => string(4) "werg" 'wreg' => string(6) "werefg" }
注意 - 字段值将只包含数组,没有其他附加或附加...
【问题讨论】:
-
如果我理解您的问题,您可以序列化数组,同时将数据保存在
post_content字段中,然后在渲染时将其反序列化。但最好的选择是使用postmeta表来满足您的自定义要求。