2017-01-01 14 views
0

Nehmen wir an, ich habe folgendes Array:Wie wird ein mehrdimensionales Array neu angeordnet?

Array 
(
    [0] => Array 
     (
      [0] => 1200 
      [1] => 2541 
      [2] => 2540 
      [3] => 2539 
     ) 
    [1] => Array 
     (
      [0] => Television 
      [1] => Monitor 
      [2] => Car 
      [3] => Bike 
     ) 
    [2] => Array 
     (
      [0] => Electrodomestic 
      [1] => Computer Stuff 
      [2] => Vehicle 
      [3] => Vehicle 
     ) 
) 

Und ich möchte es individuell gestalten, wie folgt aus:

Array 
(
    [0] => Array 
     (
      [0] => 1200 
      [1] => Television 
      [2] => Electrodomestic 
     ) 
    [1] => Array 
     (
      [0] => 2541 
      [1] => Monitor 
      [2] => Computer Stuff 
     ) 
    [2] => Array 
     (
      [0] => 2540 
      [1] => Car 
      [2] => Vehicle 
     ) 
    [3] => Array 
     (
      [0] => 2539 
      [1] => Bike 
      [2] => Vehicle 
     ) 
) 

Wie kann ich das tun?

Ich möchte mein einfaches Array (aus Daten, die ich aus einem REGEX extrahiert habe) in ein Array mit meinen individuellen "Objekten" neu ordnen.

+0

Erstellen Sie eine Foreach-Schleife, fügen Sie dem neuen Objekt Werte mit denselben Indizes hinzu. –

+0

@u_mulder Hast du ein Beispiel? Wie lautet der Name dieses Verfahrens, damit ich es googlen und mehr erfahren kann? –

+0

Es gibt keine Prozedur. Beginnen Sie mit der 'foreach'-Schleife. –

Antwort

1

haben nichts zu tun, so ist hier eine mögliche Lösung:

$a = Array 
(
    '0' => Array 
     (
      '0' => 1200, 
      '1' => 2541, 
      '2' => 2540, 
      '3' => 2539, 
     ), 
    '1' => Array 
     (
      '0' => 'Television', 
      '1' => 'Monitor', 
      '2' => 'Car', 
      '3' => 'Bike', 
     ), 
    '2' => Array 
     (
      '0' => 'Electrodomestic', 
      '1' => 'Computer Stuff', 
      '2' => 'Vehicle', 
      '3' => 'Vehicle', 
     ) 
); 

// take a size of every subarray 
$t = sizeof($a[0]); 
// do a loop 
$new_a = []; 
for($i =0; $i < $t; $i ++) { 
    // `array_column` extracts every value 
    // with key `$i` from each element of 
    // `$a` array and adds these values 
    // to a new array 
    $new_a[] = array_column($a, $i); 
} 

echo'<pre>',print_r($new_a),'</pre>'; 

Warnung: array_column in php5.5 eingeführt.

+0

Wenn Sie sich immer noch untätig fühlen, erklären Sie ein bisschen, wie das funktioniert, damit OP daraus einen erzieherischen Wert gewinnt und +1. –

+0

Keine Notwendigkeit zu erklären, der Code ist alles da. Ich sehe, dass Sie die Anzahl der Schlüssel erhalten haben, die dann mit array_column durchlaufen wurden. Sehr interessant. –

Verwandte Themen