首页 文章

如何创建多维数组?

提问于
浏览
-1

我为帖子运行了一个循环,它们有一个日期字段,但是这是一个字符串,所以我首先使用函数按日期排序,它可以工作 . 但我错过了ID,我需要将日期与其ID相关联,因为我将需要在这些ID上运行循环并按日期排序 . 所以我想在这里使用多维数组而不是php

$queryPosts = new WP_Query(array(
    'posts_per_page' => -1,
    'post__in' => $postIds,
    )
);
if( $queryPosts->have_posts() ):
    $dateOrdered = [];
    while ( $queryPosts->have_posts() ) : $queryPosts->the_post();
        $id = $post->ID;
        $dateOrdered[] =  usp_get_meta(false, 'usp-custom-80');
    endwhile;
endif;

function custom_sort_dt($a, $b) {
    return strtotime($a) - strtotime($b);
}
usort($dateOrdered, "custom_sort_dt");
print_r($dateOrdered);

我期待一个ID数组

2 回答

  • 1

    这就是我创建数组并解决的方法

    if( $queryPosts->have_posts() ):
        $dateOrdered = [];
        while ( $queryPosts->have_posts() ) : $queryPosts->the_post();
            $id = $post->ID;
            $date = usp_get_meta(false, 'usp-custom-80');
            array_push($postOrdered, $id);
            $dateOrdered[] = array("date"=>$date, "id"=>$id);
        endwhile;
    endif;
    
  • 0

    请检查下面的代码,我认为它对您有所帮助 .

    $array = array(); while ( have_posts() ) {
                the_post();
                get_template_part( 'template-parts/content/content' );
                $id = $post->ID;
                $data = strtotime(get_the_date( 'Y-m-d' ));
                $array[$data][] = array(
                    'date' => get_the_date( 'Y-m-d' ),
                    'id' => $id
                );
            }
            ksort($array);
            print_r($array);
    

相关问题