2017-01-13 1 views
0

ich ein Problem habe die array.This neu zu ordnen meine letzte Array ist:Rearrange Array-Wert in PHP

Array 
(
    [5833261e-dc14-48e3-9ee1-682a7f000201] => Array 
     (
      [344] => apple - 344 
      [345] => apple - 345 
      [acc_name] => Apple 1233 - acc_name 
     ) 

    [58332069-fab4-44c7-9ac9-487b7f000201] => Array 
     (
      [343] => apple 123456 - 343 
      [acc_name] => Orange Test - acc_name 
     ) 
) 

Ich möchte diese neu anordnen unten mögen:

Array 
    (
     [Apple 1233 - acc_name] => Array 
      (
       [344] => apple - 344 
       [345] => apple - 345 
      ) 

     [Orange Test - acc_name] => Array 
      (
       [343] => apple 123456 - 343     
      ) 
    ) 

So können Jungs Sie Bitte erreiche dieses Ausgabe-Array.

Antwort

2

Sie können es wie folgt: -

$new_array = array(); 
foreach ($array as $key=>$val){ 
$acc_name = $val['acc_name']; 
unset($array[$key]['acc_name']); 
    $new_array[$acc_name] = $array[$key]; 
} 
echo "<pre/>";print_r($new_array); 

https://eval.in/715323

Hinweis: - Nach Abschluss können Sie diese neue Array zu Ihrem ursprünglichen Array wie $array = $new_array

zuweisen Wie pro Kommentare eines: -

$new_array = array(); 
foreach ($array as $key=>$val){ 
$acc_name = $val['acc_name']; 
unset($array[$key]['acc_name']); 
    $new_array[$acc_name][] = $array[$key]; 
} 
echo "<pre/>";print_r($new_array); 

Hinweis: - In-Array Wenn dieselben Indizes kommen, ersetzen die neuen Daten die älteren. Also versuchen Sie die zweite Lösung

+0

Danke, es funktioniert nett..Aber es entfernt einige der inneren Array.Ich weiß nicht, warum es passiert? –

+0

Ich habe es..Es überschreibt die gleichen acc_name arrays.Wie es zu lösen ist. @ Anant –

+0

@sabarik überprüfen Sie meine bearbeitete Antwort –

0

diesen Link lesen, lesen Mai Es wird hilfreich für Sie

PHP - Rearrange array by specific index

+0

, Danke .. Aber ich muss letzten Wert des inneren Array als Neuordnung in meinem Haupt-Array Schlüssel Wert. –

Verwandte Themen