如何创建多维数组?

时间:2018-12-09 22:52:18

标签: php arrays wordpress multidimensional-array

我为帖子运行一个循环,这些帖子具有日期字段,但这是一个字符串,因此我首先使用功能按日期排序,并且可以正常工作。但是我缺少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 个答案:

答案 0 :(得分: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;

答案 1 :(得分: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);