【问题标题】:get ASC order values from array post meta value - WordPress从数组发布元值中获取 ASC 顺序值 - WordPress
【发布时间】:2014-12-10 13:17:15
【问题描述】:

我得到这样的数组值:

$wpjobus_resume_work = get_post_meta($post->ID, 'wpjobus_resume_work',true);

在屏幕上打印后(print_r($wpjobus_resume_work)):

这是我工作并获得专业经验的公司列表。

Array
(
    [0] => Array
        (
            [0] => GE 
            [1] => CEO
            [2] => 1995
            [3] => 2013
            [4] => Full Time
            [5] => Lorem ipsum dolor sit amet, consectetur adipiscing elit. Quisque posuere est est, nec hendrerit quam vehicula id. Quisque sed nisl sit amet ipsum euismod pharetra. Nullam vel arcu eget ex pharetra imperdiet ac vitae nibh. Nullam vitae dolor pretium nibh semper ornare ac in sem. Quisque in malesuada dui. Suspendisse dapibus semper accumsan. Donec ut eleifend eros. Pellentesque habitant morbi tristique senectus et netus et malesuada fames ac turpis egestas. Maecenas ut felis neque.
        )

    [1] => Array
        (
            [0] => SAP
            [1] => VP
            [2] => 1990
            [3] => 1995
            [4] => Freelance
            [5] => Lorem ipsum dolor sit amet, consectetur adipiscing elit. Quisque posuere est est, nec hendrerit quam vehicula id. Quisque sed nisl sit amet ipsum euismod pharetra. Nullam vel arcu eget ex pharetra imperdiet ac vitae nibh. Nullam vitae dolor pretium nibh semper ornare ac in sem. Quisque in malesuada dui. Suspendisse dapibus semper accumsan. Donec ut eleifend eros. Pellentesque habitant morbi tristique senectus et netus et malesuada fames ac turpis egestas. Maecenas ut felis neque.
        )

    [2] => Array
        (
            [0] => Google
            [1] => Director
            [2] => 2013
            [3] => 2014
            [4] => Freelance
            [5] => Lorem ipsum dolor sit amet, consectetur adipiscing elit. Quisque posuere est est, nec hendrerit quam vehicula id. Quisque sed nisl sit amet ipsum euismod pharetra. Nullam vel arcu eget ex pharetra imperdiet ac vitae nibh. Nullam vitae dolor pretium nibh semper ornare ac in sem. Quisque in malesuada dui. Suspendisse dapibus semper accumsan. Donec ut eleifend eros. Pellentesque habitant morbi tristique senectus et netus et malesuada fames ac turpis egestas. Maecenas ut felis neque.
        )

)

现在我想要基于[2] 的订单。

[2] => 数组应该是第一个,因为年份是 1990
[1] => 数组应该是第二个,因为年份是 1995 年大于 1990 年
[3] => 数组应该是最后一个,因为年份是 2013 年,大于之前的两个值。

任何帮助将不胜感激。我需要这个以“按年”顺序展示我的工作经验。

【问题讨论】:

    标签: php arrays wordpress


    【解决方案1】:

    您可以使用array_multisort。查看 PHP 文档中的示例 #3。

    使用以下代码将其应用于您的情况:

    $wpjobus_resume_work = array(
        array(
            'GE',
            'CEO',
            '1995',
            '2013',
            'Full Time',
            'Lorem ipsum dolor sit amet, consectetur adipiscing elit. Quisque posuere est est, nec hendrerit quam vehicula id. Quisque sed nisl sit amet ipsum euismod pharetra. Nullam vel arcu eget ex pharetra imperdiet ac vitae nibh. Nullam vitae dolor pretium nibh semper ornare ac in sem. Quisque in malesuada dui. Suspendisse dapibus semper accumsan. Donec ut eleifend eros. Pellentesque habitant morbi tristique senectus et netus et malesuada fames ac turpis egestas. Maecenas ut felis neque.' 
        ),
        array(
            'SAP',
            'VP',
            '1990',
            '1995',
            'Full Time',
            'Lorem ipsum dolor sit amet, consectetur adipiscing elit. Quisque posuere est est, nec hendrerit quam vehicula id. Quisque sed nisl sit amet ipsum euismod pharetra. Nullam vel arcu eget ex pharetra imperdiet ac vitae nibh. Nullam vitae dolor pretium nibh semper ornare ac in sem. Quisque in malesuada dui. Suspendisse dapibus semper accumsan. Donec ut eleifend eros. Pellentesque habitant morbi tristique senectus et netus et malesuada fames ac turpis egestas. Maecenas ut felis neque.' 
        ),  
        array(
            'Google',
            'Director',
            '2013',
            '2014',
            'Freelance',
            'Lorem ipsum dolor sit amet, consectetur adipiscing elit. Quisque posuere est est, nec hendrerit quam vehicula id. Quisque sed nisl sit amet ipsum euismod pharetra. Nullam vel arcu eget ex pharetra imperdiet ac vitae nibh. Nullam vitae dolor pretium nibh semper ornare ac in sem. Quisque in malesuada dui. Suspendisse dapibus semper accumsan. Donec ut eleifend eros. Pellentesque habitant morbi tristique senectus et netus et malesuada fames ac turpis egestas. Maecenas ut felis neque.' 
        ),
    );
    
    // Obtain a list of columns
    foreach ($wpjobus_resume_work as $key => $row) {
        $year[$key] = $row[2]; // value with index 2 of given array
    }
    
    // Sort the data with year ascending
    // Add $wpjobus_resume_work as the last parameter, to sort by the common key
    array_multisort($year, SORT_ASC, $wpjobus_resume_work);
    
    // print sorted array
    print_r($wpjobus_resume_work);
    

    【讨论】:

    • 刚刚将您的数组添加到代码中。如果我使用上面的代码,它工作正常。
    • 奇怪,我得到了相同的结果(未排序)。我正在尝试找出问题所在。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2021-08-09
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-02-15
    • 1970-01-01
    相关资源
    最近更新 更多