问题描述
希望有人能帮忙解决这个问题...
我有一个名为 $comma_separated 的 PHP 变量,它是一个简单的数组。
<?PHP echo $comma_separated; ?>
这给了我这样的结果:
'558927','529306','529227','50921','50923',
我正在尝试在 WP_Query 的 Meta_query 参数中使用此变量,如下所示:
$args = array (
'post_type' => 'properties','posts_per_page' => -1,'paged' => $paged,'Meta_query' => array(
array(
'key' => 'property_code',//this works
//'value' => array('558927',),//this doesn't
'value' => array( $comma_separated ),'compare' => 'IN',$the_query = new WP_Query( $args );
我尝试手动将字符串添加为值,效果很好,但我无法让变量起作用。希望这是一个简单的修复,但似乎无法弄清楚。任何帮助将不胜感激。
解决方法
正如 CBroe 指出的,array('value,value,value')
与 array('value','value','value')
不同。第一个是 1 个元素,第二个是 3 个元素。
如果你想让你的字符串转换成数组,你必须像这样使用explode:explode( ',',$comma_separated )
。这会将字符串转换为数组,分隔符为逗号;)