简体   繁体   中英

How to convert multi-dimensional array into one-dimensional array

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
        )

)

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

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

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

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