在PHP中将数组转换为逗号分隔的数组。
因此,我正在构建一个包含元查询的wordpress查询 我从一些不同的早期函数中得到了一些元值,它们似乎工作得很好 结果是:在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
$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)。这是您应该从我的代码中获得的同一组索引。非常感谢看起来它正在按预期工作,不用担心。很高兴我能帮忙。