0

I have below array with multi dimensional array. How I can convert it into one dimensional array.

Array
(
    [0] => Array
        (
            [id] => 21134
        )

    [1] => Array
        (
            [id] => 21135
        )

    [2] => Array
        (
            [id] => 21137
        )

    [3] => Array
        (
            [id] => 21138
        )

    [4] => Array
        (
            [id] => 21144
        )

    [5] => Array
        (
            [id] => 21147
        )

    [6] => Array
        (
            [id] => 21149
        )

    [7] => Array
        (
            [id] => 21150
        )

    [8] => Array
        (
            [id] => 21151
        )

    [9] => Array
        (
            [id] => 21152
        )

    [10] => Array
        (
            [id] => 21153
        )

)
Nick
  • 138,499
  • 22
  • 57
  • 95

3 Answers3

4

This case array_column() is very useful:

$resultArray = array_column($yourArray,'id');

If will give you the values of all the id's in a one-dimensional array.

See: http://php.net/manual/en/function.array-column.php

KIKO Software
  • 15,283
  • 3
  • 18
  • 33
1

use array_column()

eg:

$array = Array
(
    [0] => Array
        (
            [id] => 21134
        )

    [1] => Array
        (
            [id] => 21135
        )

    [2] => Array
        (
            [id] => 21137
        )

    [3] => Array
        (
            [id] => 21138
        )

    [4] => Array
        (
            [id] => 21144
        )

    [5] => Array
        (
            [id] => 21147
        )

    [6] => Array
        (
            [id] => 21149
        )

    [7] => Array
        (
            [id] => 21150
        )

    [8] => Array
        (
            [id] => 21151
        )

    [9] => Array
        (
            [id] => 21152
        )

    [10] => Array
        (
            [id] => 21153
        )

)

use array_column() to convert it, like this,

$result = array_column($array,'id');
Ramesh S
  • 841
  • 3
  • 15
  • 35
1

You can use array_map for multidimensional array into one-dimensional array

$oneDimensionalArray = array_map('current', $twoDimensionalArray);

you can also array_merge

$oneDimensionalArray = call_user_func_array('array_merge', $twoDimensionalArray);
Dave
  • 3,073
  • 7
  • 20
  • 33