如何创建逗号分隔的数组数组

时间:2017-09-15 20:15:21

标签: php wordpress

我必须创建如下所示的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);
}

但我得到了索引数组,并且在数组中需要逗号分隔的数组。

感谢。

1 个答案:

答案 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'
    ) 
),