Home >Backend Development >PHP Tutorial >How to Flatten a Multidimensional Array in PHP Using `array_column()`?

How to Flatten a Multidimensional Array in PHP Using `array_column()`?

Mary-Kate Olsen
Mary-Kate OlsenOriginal
2024-12-13 06:05:14638browse

How to Flatten a Multidimensional Array in PHP Using `array_column()`?

How to Convert Multidimensional Arrays into Single Arrays

Problem:

A multidimensional array is encountered with an unnecessary structure. The goal is to simplify it into a single-dimensional array, extracting only the desired values within the nested arrays.

Solution:

To convert a multidimensional array into a single-dimensional array, the array_column() function can be utilized. This function effectively extracts a specific column from a multidimensional array, conceptually similar to extracting a column from a table or matrix.

Implementation:

$array = array_column($array, 'plan');

Breakdown of the Script:

  • $array: Represents the multidimensional array that needs conversion.
  • array_column() function: This function takes two arguments:

    • The first argument is the multidimensional array to be transformed.
    • The second argument identifies the desired column or key to extract. In this case, it specifies 'plan' to retrieve the values for this key.

Example:

Using the provided multidimensional array:

$array = array(
    0 => array(
        'plan' => 'basic'
    ),
    1 => array(
        'plan' => 'small'
    ),
    2 => array(
        'plan' => 'novice'
    ),
    3 => array(
        'plan' => 'professional'
    ),
    4 => array(
        'plan' => 'master'
    ),
    5 => array(
        'plan' => 'promo'
    ),
    6 => array(
        'plan' => 'newplan'
    )
);

To convert it into a single-dimensional array, the following code can be used:

$newArray = array_column($array, 'plan');

The resulting $newArray will have the following structure:

Array(
    [0] => 'basic',
    [1] => 'small',
    [2] => 'novice',
    [3] => 'professional',
    [4] => 'master',
    [5] => 'promo',
    [6] => 'newplan'
)

Additional Information:

  • For more details on the array_column() function, refer to the official PHP documentation.
  • This solution assumes that all inner arrays have the same key structure. If that's not the case, additional processing might be necessary.

The above is the detailed content of How to Flatten a Multidimensional Array in PHP Using `array_column()`?. For more information, please follow other related articles on the PHP Chinese website!

Statement:
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn