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
  • 123,192
  • 20
  • 49
  • 81
  • 8
    Possible duplicate of [Convert multidimensional array into single array](https://stackoverflow.com/questions/6785355/convert-multidimensional-array-into-single-array) – Patrick Schocke Oct 30 '18 at 09:21
  • What's you expected output? – Jakub Matczak Oct 30 '18 at 09:21
  • Go through this [https://stackoverflow.com/questions/5009759/removing-an-outer-array](https://stackoverflow.com/questions/5009759/removing-an-outer-array) – Shubham Baranwal Oct 30 '18 at 09:22
  • this might help you: [https://stackoverflow.com/questions/8754980/how-to-convert-two-dimensional-array-to-one-dimensional-array-in-php5] – Naveed Ali Oct 30 '18 at 09:23
  • My expected output should be like Array ( [0] => 21134 [1] => 21135 [2] => 21137 [3] => 21138 [4] => 21144 [5] => 21147 [6] => 21149 ) – Prakash Kumar Guru Oct 30 '18 at 09:24
  • 2
    Possible duplicate of [How to convert two dimensional array to one dimensional array in php5](https://stackoverflow.com/questions/8754980/how-to-convert-two-dimensional-array-to-one-dimensional-array-in-php5) – Dave Oct 30 '18 at 09:30

3 Answers3

3

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
  • 12,609
  • 2
  • 15
  • 29
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
  • 811
  • 2
  • 12
  • 32
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,046
  • 7
  • 19
  • 32