我必须创建如下所示的WP_Query:
array(
'relation' => 'OR',
array(
'key' => 'course',
'value' => 10114,
'compare' => 'LIKE'
),
array(
'key' => 'course',
'value' => 54,
'compare' => 'LIKE'
),
array(
'key' => 'course',
'value' => 77,
'compare' => 'LIKE'
),
array(
'key' => 'course',
'value' => 31,
'compare' => 'LIKE'
)
),
我需要动态创建这个数组,所以,我的问题是如何创建这样的数组?
array(array(),array(),array())
我总是得到索引数组,而不能像上面那样得到它。
试过这个:
$courseQuery = array();
if (isset($courses) && !empty($courses)) {
$n = 0;
foreach ($courses as $course) {
$courseID = $course[$n];
$itemArray = array();
$itemArray['key'] = 'course';
$itemArray['value'] = $courseID;
$itemArray['compare'] = 'LIKE';
array_push($courseQuery, $itemArray);
$n++;
}
print_r ($courseQuery);
}
但我得到了索引数组,并且在数组中需要逗号分隔的数组。
感谢。
答案 0 :(得分:0)
您需要省略该行:
'relation' => 'OR',
这是一个索引对,通过将其包含在您的数组中,PHP将始终创建一个索引数组。 试试这个:
array(
array(
'key' => 'course',
'value' => 10114,
'compare' => 'LIKE'
),
array(
'key' => 'course',
'value' => 54,
'compare' => 'LIKE'
),
array(
'key' => 'course',
'value' => 77,
'compare' => 'LIKE'
),
array(
'key' => 'course',
'value' => 31,
'compare' => 'LIKE'
)
),