2012-04-10 16 views
1

Ich habe die folgende Array-Struktur;Einfache Array-Manipulation

Array(
[0] => Array(
     [product_name] => Silver 
    ) 

[1] => Array(
     [product_name] => Gold 
    ) 

[2] => Array(
     [product_name] => Ride 
    ) 

[3] => Array(
     [product_name] => Bronze 
    ) 
) 

Ich brauche es so zu sein, aber ich kann nicht herausfinden, wie. Ich kann keine zusätzliche Funktion implementieren, sie muss sauber und ordentlich sein.

Array(
    [0] => Silver 
    [1] => Gold 
    [2] => Ride 
    [3] => Bronze 
) 

Danke für jede Hilfe angeboten. :)

Antwort

2

Ich glaube, das funktioniert:

iterator_to_array(new RecursiveIteratorIterator(new RecursiveArrayIterator($array)), false); 
+0

Danke alix. Ich habe keine Ahnung, was das macht, aber der Code, an dem ich arbeite, ist sehr OOP, also scheint das mehr mit diesem Stil zu tun zu haben. Vielen Dank. –

1
foreach($firstarray as $var) { 
    $secondarray[] = $var["product_name"]; 
} 
+0

Kannst du nicht einfach die '$ i' fallen lassen und' $ secondarray [] = $ var ["product_name"]; '? – Yaniro

+0

Auch dies kann ohne die Notwendigkeit einer zweiten Array getan werden – BenOfTheNorth

+0

Das ist wahr, danke für den Vorschlag – Dion

1

Wenn [PRODUCT_NAME] der Schlüssel Name ist, dann würde diese Arbeit:

foreach($array as $i=>$a) 
    $array[$i] = $a['product_name']; 
2
foreach($array as &$value) 
{ 
    $value = $value['product_name']; 
} 
+1

Ihre Lösung ist wahrscheinlich die einfachste. Aber ich schlage 'unset $ value;' danach vor, um Probleme zu vermeiden, wenn Sie den Variablennamen wiederverwenden. – ANisus

0
$array = array(
    array("product_name" => "Silver"), 
    array("product_name" => "Gold"), 
    array("product_name" => "Ride"), 
    array("product_name" => "Bronze") 
); 

können Sie tun somenthing wie folgt:

foreach($array as &$pos) $pos = $pos["product_name"]; 

Wenn Sie also ein print_r ($ array) tun das Ergebnis wird sein:

Array 
(
    [0] => Silver 
    [1] => Gold 
    [2] => Ride 
    [3] => Bronze 
) 

Hoffnung diese Ihnen helfen.

2

Ich würde Array_map Personaly verwenden!