2016-07-18 16 views
1

Hier ist ein CodebeispielWie mehrdimensionale assoziatives Array zu einfacher numerischer Array

Array 
(
    [0] => Array 
     (
      [ID] => 1197 
     ) 
    [1] => Array 
     (
      [ID] => 1078 
     ) 
) 

Ich mag sie extrahieren in einfachen Index-Array konvertieren, wie:

Array(1197, 1078) 

Ich weiß, kann es durch getan werden Iterieren jeden Index und Zuweisen in ein temporäres Array. Ich möchte eine One-Liner-Syntax wie array_filter in vielen Fällen tun. Gibt es eine eingebaute Funktion in PHP, die meine Aufgabe in einer Zeile erledigt, jede Mischung von Anweisungen in einer Zeile. Ich möchte es nicht in Schleifen verwenden.

+2

Mögliche Duplikat von [Wie wird ein mehrdimensionales Array abgeflacht?] (http://stackoverflow.com/questions/1319903/how-to-flatten-a-multidimensional-array) –

+4

'array_column ($ arr, 'ID');' – RomanPerekhrest

Antwort

1

Wenn Sie mit PHP> 5.5.0, können Sie array_column:

$ids = array_column($array, 'ID');

Auf der verlinkten Seite, werden Sie einen Ersatz für ältere Versionen finden:

if(!function_exists("array_column")) 
{ 

    function array_column($array,$column_name) 
    { 

     return array_map(function($element) use($column_name){return $element[$column_name];}, $array); 

    } 

}