1

I have an array. This array have a sub arrays. I want to take sub array value to main array keys. Here is my example array:

Array
(
    [0] => Array
        (
            [index-id] => 12
            [title] => Example Title
            [description] => Example Description
        )
    [1] => Array
        (
            [index-id] => 32
            [title] => Example Title
            [description] => Example Description
        )
)

i want to take index-id to main array key my array must be like this

Array
(
    [12] => Array
        (
            [index-id] => 12
            [title] => Example Title
            [description] => Example Description
        )
    [32] => Array
        (
            [index-id] => 32
            [title] => Example Title
            [description] => Example Description
        )
)

How can i do this?

1
  • Take a look at array_column() Commented Feb 9, 2017 at 11:17

2 Answers 2

3

Short solution using array_column and array_combine functions:

// $arr is your initial array
$result = array_combine(array_column($arr, 'index-id'), $arr);
Sign up to request clarification or add additional context in comments.

Comments

2
$temp = [];
foreach($arr as $k => $v){
    $temp[$v['index-id']] = $v;
}
print_r($temp);

Where $temp is result array, $arr is your array.

Comments

Start asking to get answers

Find the answer to your question by asking.

Ask question

Explore related questions

See similar questions with these tags.