在PHP中将数组转换为逗号分隔的数组。

在PHP中将数组转换为逗号分隔的数组。,php,arrays,wordpress,multidimensional-array,Php,Arrays,Wordpress,Multidimensional Array,因此,我正在构建一个包含元查询的wordpress查询 我从一些不同的早期函数中得到了一些元值,它们似乎工作得很好 结果是:$arrayOfVendors=array(92,85,72) 然后,我尝试创建一个带有foreach循环的动态元查询 这是通过在我的数组中循环,并通过值创建新数组来完成的 $test2QueryStringArray = array(); foreach ($arrayOfVendors as $singleVendorObject) { $te

因此,我正在构建一个包含元查询的wordpress查询

我从一些不同的早期函数中得到了一些元值,它们似乎工作得很好

结果是:
$arrayOfVendors=array(92,85,72)

然后,我尝试创建一个带有foreach循环的动态元查询

这是通过在我的数组中循环,并通过值创建新数组来完成的

$test2QueryStringArray = array();
    foreach ($arrayOfVendors as $singleVendorObject) {

        $test2QueryString = array(
        'key' => 'products_vendor',
        'compare'   => 'LIKE',
        'value'=> '"'.$singleVendorObject.'"',
        );

        array_push($test2QueryStringArray, $test2QueryString);
    }
现在,我的新数组应该由几个数组组成,其中包含我想要的内容

只要把它放进我的args,我就应该拥有我想要的一切

'meta_query'             => array(
        'relation' => 'OR',

            $test2QueryStringArray
        )
但是,我最后得到的是以下几点

'meta_query' =>   array (    
    'relation' => 'OR',    
     0 => array (
         0 => array (
            'key' => 'products_vendor',
            'compare' => 'LIKE',
            'value' => '92',
        ),
        1 => array (
            'key' => 'products_vendor',
            'compare' => 'LIKE',
            'value' => '85',
        ),
        2 => array (
            'key' => 'products_vendor',
            'compare' => 'LIKE',
            'value' => '72',
        ),
    ),
)
正确的语法如下所示

'meta_query' => array(
    'relation' => 'OR',
     array(
        'key'     => 'products_vendor',
        'compare' => 'LIKE',
        'value'   => '92',
    ),
    array(
        'key'     => 'products_vendor',
        'compare' => 'LIKE',
        'value'   => '85',
    ),
    array(
        'key'     => 'products_vendor',
        'compare' => 'LIKE',
        'value'   => '72',
    ),
),
基本上,我想做的是在ACF关系字段中获取所有从阵列中选择供应商的帖子(在这里可以选择多个供应商)

我不知道如何从这里开始,我尝试过的一切,要么因为数组到字符串的转换而消亡,要么根本就没有给我预期的输出

因此,如果您有任何帮助,我们将不胜感激

'meta_query' => array('relation' => 'OR',
                      $test2QueryStringArray
                      )
您正在将
$test2QueryStringArray
推入
元查询
数组。因此,您可以获得额外的嵌套级别。您要做的是合并:

'meta_query' => array_merge(array('relation' => 'OR'),
                            $test2QueryStringArray
                           )

我不需要删除其他索引并用逗号分隔它们我要胡乱琢磨你的答案!到现在为止,你已经帮我在级别上摆脱了这个角色——谢谢你。”您想要的格式也有索引,它们只是隐式的(0、1、2、3)。这是您应该从我的代码中获得的同一组索引。非常感谢看起来它正在按预期工作,不用担心。很高兴我能帮忙。