WordPress:从数据库中的数组中获取数据

时间:2014-08-01 11:05:28

标签: php arrays wordpress loops serialization

我有动态创建的自定义字段。我从这些字段中获取数据并将其作为具有update_post_meta的数组存储到数据库中。它作为序列化数组存储在数据库中:

a:4:{i:1;s:4:"1993";i:2;s:4:"1994";i:3;s:4:"1995";i:4;s:4:"1996";}

现在我需要获取此数组并在网站上回显它,所以它看起来像:4个孩子(1993,1994,1995,1996)。

这是我现在使用的代码,但它不起作用。

<?php
$children = get_post_custom_values('rbchildyear');

foreach ($children as $key => $value){
  echo "$key => $value('rbchildyear')<br>";
}
?>

这就是我在前台所得到的:

0 => a:4:{i:1;s:4:"1993";i:2;s:4:"1994";i:3;s:4:"1995";i:4;s:4:"1996";}('rbchildyear')

那我怎么能这样做?

谢谢!

2 个答案:

答案 0 :(得分:2)

使用unserialize()。

$children = unserialize('a:4:{i:1;s:4:"1993";i:2;s:4:"1994";i:3;s:4:"1995";i:4;s:4:"1996";}');

print_r($children);

这将返回数组

答案 1 :(得分:0)

如果使用get_post_meta,它将返回一个值数组(数字索引)。然后,您可以使用foreach遍历数组。

$childYears = get_post_meta($post_id, "rbchildyear", true);

foreach($childYears AS $theYear)
{
     $printThis .= $theYear.",";
}

print count($childYears)." children ( ".$printThis." )";