2016-08-05 11 views
0

Ich habe die folgende Array-StrukturKombination mehrdimensionales Array zu einzelnen Array

array (
    0 => 
    array (
    'ID' => '1', 
    'post_title' => 'Hello world!', 
), 
    1 => 
    array (
    'ID' => '79', 
    'post_title' => 'ffffffffffff', 
), 
    2 => 
    array (
    'ID' => '1720', 
    'post_title' => 'Git primer', 
), 
) 

Ich werde lieben es ähnlich unten an der einen auf eine Struktur zu konvertieren. Gibt es eine PHP-Funktion, die das kann? Ich versuche, sich wiederholende foreach Schleife zu vermeiden.

array (
'1' => 'Hello world!', 
'79' => 'ffffffffffff', 
'1720' => 'Git primer', 
) 
+2

eine einfache foreach + '$ new_array [$ v [‘ ID ']] = $ v ['post_title']; 'warum in der Welt würdest du keine foreach wollen, es dauert nur weniger als 4 Zeilen – Ghost

+0

Ich werde meinen Kommentar von gestern wiederholen: http://stackoverflow.com/questions/38750886/php-mapping-a-multidimensionales-in-assoziatives-array # comment64875556_38750886 – Rizier123

Antwort

4

Verwenden array_column() dieses zu erhalten.

Array_column() Funktion geben Sie alle Spaltennamen zurück, die Sie im Parameter angegeben haben.

$array=array (
    0 => 
    array (
    'ID' => '1', 
    'post_title' => 'Hello world!', 
), 
    1 => 
    array (
    'ID' => '79', 
    'post_title' => 'ffffffffffff', 
), 
    2 => 
    array (
    'ID' => '1720', 
    'post_title' => 'Git primer', 
), 
) 
$new_array = array_column($array, 'post_title', 'ID'); 
print_r($new_array); 

Ausgang:

Array 
(
    [1] => Hello world! 
    [79] => ffffffffffff 
    [1720] => Git primer 
) 
0

Hier ist sie:

// Ihr Array

$test = array (
    0 => 
    array (
    'ID' => '1', 
    'post_title' => 'Hello world!', 
), 
    1 => 
    array (
    'ID' => '79', 
    'post_title' => 'ffffffffffff', 
), 
    2 => 
    array (
    'ID' => '1720', 
    'post_title' => 'Git primer', 
), 
); 

// Lösung:

foreach ($test as $t){ 
    $new_array[$t['ID']] = $t['post_title']; 

} 
echo "<pre>"; 
echo print_r($new_array); 
die; 
0

können Sie erreichen dies mit folgenden

array_column($array,'post_title','ID'); 

Ausgabe

Array 
(
    [1] => Hello world! 
    [79] => ffffffffffff 
    [1720] => Git primer 
)