0

希望有人可以帮助解决这个问题...
我有一个名为 $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', '529306', '529227', '50921', '50923',),
        //this doesn't
        'value' =>  array( $comma_separated ) ,
        'compare' => 'IN', 
        ),
  ),
  $the_query = new WP_Query( $args );

我尝试手动将字符串添加为值,效果很好,但我无法让变量工作。希望这是一个简单的修复,但似乎无法弄清楚。任何帮助将非常感激。

4

1 回答 1

0

正如 CBroe 指出的那样, anarray('value, value, value')array('value','value','value'). 第一个是 1 个元素,第二个是 3 个元素。

如果你想让你的字符串转换成一个数组,你必须像这样使用explode explode( ',', $comma_separated ):。这会将字符串转换为以逗号分隔的数组;)

这是一些文档:https ://www.php.net/manual/en/function.explode.php

于 2021-07-20T12:33:11.490 回答