Wie kann man ein mehrdimensionales Array in ein einfaches Array in PHP umwandeln?

In PHP können Sie die Funktion "array_reduce" verwenden, um ein mehrdimensionales Array zu glätten. Diese Funktion nimmt zwei Argumente entgegen: das zu glättende Array und eine Callback-Funktion, die definiert, wie die Array-Elemente kombiniert werden sollen. Hier ist ein Beispiel dafür, wie man "array_reduce" verwendet, um ein mehrdimensionales Array zu glätten:

$multiDimensionalArray = [1, [2, 3], [4, [5, 6]]];

$flattenedArray = array_reduce($multiDimensionalArray, function ($carry, $item) {
    return array_merge($carry, (array) $item);
}, []);

print_r($flattenedArray);

Dies gibt folgendes aus:

Array ( [0] => 1 [1] => 2 [2] => 3 [3] => 4 [4] => 5 [5] => 6 )

Alternativ können Sie call_user_func_array und array_merge rekursiv verwenden, um das Array zu glätten

function flatten_array($array) { 
    $flat = array(); 
    foreach($array as $value) { 
        if(is_array($value)) { 
            $flat = array_merge($flat, flatten_array($value)); 
        } 
        else { 
            $flat[] = $value; 
        } 
    } 
    return $flat; 
} 
$multiDimensionalArray = [1, [2, 3], [4, [5, 6]]];
$flattenedArray = flatten_array($multiDimensionalArray);
print_r($flattenedArray);

Das gibt auch das gleiche Ergebnis wie oben aus.