Russel Riehle
Russel Riehle

Reputation: 267

How can I change array key for specific array value

I have an multidimensional array like this:

Position 0: {id=5, name=john}
Position 1: {id=7, name=frank}
Position 2: {id=9, name=tina}

What I'm trying to do is: Change the Position Key (0,1,2) to id value for each one!

Position 5: {id=5, name=john}
Position 7: {id=7, name=frank}
Position 9: {id=9, name=tina}

I tried to use "array_flip" according to PHP Doc. But I did not succeed! But I just found reference for unidimensional arrays. Like this:

<?php
$input = array("oranges", "apples", "pears");
$flipped = array_flip($input);    
print_r($flipped);
?>

Any idea? Thanks.

Upvotes: 1

Views: 104

Answers (1)

u_mulder
u_mulder

Reputation: 54831

A simple oneliner:

$new_array = array_combine(
    array_column($your_array, 'id'),    // these are keys
    $your_array                         // these are values
);

Upvotes: 2

Related Questions