循环数组的正确方法是什么

What is the right way on looping arrays

我有脚本。

   $args = array(
    'post_type' => 'cust_type',
    'tax_query' => array(
    'relation' => 'AND',
        array(
            'taxonomy' => 'category',
            'field' => 'slug',
            'terms' => 'term1',
        ),
        array(
            'taxonomy' => 'category',
            'field' => 'slug',
            'terms' => 'term2',
        ),
    ),
);

我希望线关系下面的数组是循环的。

到目前为止我做了什么:

$keys = array('term1','term2');
foreach($keys as $key) {
    $arcom .= "array(
        'taxonomy' => 'category',
        'field' => 'slug',
        'terms' => '$key',
    ),";
}

这样对吗?我的做法对吗?

你几乎做对了

$keys = array('term1','term2');
$arcom = array();
foreach($keys as $key) {
    $arcom[] = array(
        'taxonomy' => 'category',
        'field' => 'slug',
        'terms' => $key,
    );
}

说明

可以使用 [] 像这样 $arcom[].

将数组追加到末尾

$arcom[5] 此处的数字表示插入数组的键,数字也可以用字符串替换或留空会将数组追加到末尾。

您的代码需要更改

$keys = array('term1','term2');
$arcom = array();
foreach($keys as $key) {
$arcom[]= array(
        'taxonomy' => 'category',
        'field' => 'slug',
        'terms' => $key,
    );
}
$keys = array('term1','term2');
$arcom = array();
foreach($keys as $key) {
    $arcom_sub_array = array(
        'taxonomy' => 'category',
        'field' => 'slug',
        'terms' => $key
    );
    array_push($arcom,$arcom_sub_array);
}