简体   繁体   中英

get ASC order values from array post meta value - WordPress

I am getting the array values like this:

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

after printing them on the screen (by print_r($wpjobus_resume_work) ):

Here's a list of companies where I worked and gained my professional experience.

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.
        )

)

Now i want the order based on [2] .

[2] => Array should be the first one as the year is the 1990
[1] => Array should be the second one as the year is the 1995 greater than 1990
[3] => Array should be the last one as the year is the 2013 greater than both the previous values.

Any help would be appreciated. I need this to show my work experience in the 'Year wise' order.

You can use array_multisort . Take a look at example #3 at the PHP documentation.

Use the following code to apply this on your situation:

$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);

The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM