Слияние wp_get_post_terms - PullRequest
       8

Слияние wp_get_post_terms

0 голосов
/ 11 июля 2019

У меня есть этот код:

while( $animes->have_posts() ) {
    $animes->the_post();
    $i++;
    $animeID[$i] = $post->ID;

    $args = array(
        'orderby' => 'meta_value_num',
        'order' => 'DESC',
        'fields' => 'all',
        'meta_query' => [['key' => 'episode_number','type' => 'NUMERIC',]]
    );

    $episodes[$i] = wp_get_post_terms(intval( $animeID[$i] ), 'episodes', $args );
}

Я хочу объединить все $episodes[$i] в один массив. Возможно ли это?

1 Ответ

0 голосов
/ 12 июля 2019

Вы создали экземпляры $ серии за пределами вашего цикла, верно?

Если я вас правильно понял, у вас есть массив массивов в $ episodes, и вы хотите, чтобы он представлял собой один массив значений?Так вроде как сплющить массив?Это может помочь, если вы объясните, почему вы хотите это сделать.Но, возможно, что-то вроде этого:


$episodes = [];

while( $animes->have_posts() ) {
    $animes->the_post();

    $args = array(
        'orderby' => 'meta_value_num',
        'order' => 'DESC',
        'fields' => 'all',
        'meta_query' => [['key' => 'episode_number','type' => 'NUMERIC',]]
    );

    $episodes[$i] = wp_get_post_terms(intval( $post->ID ), 'episodes', $args );
}

function flatten(array $array) {
    $return = array();
    array_walk_recursive($array, function($a) use (&$return) { $return[] = $a; });
    return $return;
}

$flattened_episodes = flatten($episodes);

var_dump($flattened_episodes); 

См. Как сгладить многомерный массив? , чтобы узнать больше о сглаживании массива.Документы здесь для функции array_walk_recursive - https://php.net/array_walk_recursive

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...