2016-10-20 3 views
1

Ich habe eine Tabelle, die multidimensional sein könnte.array_push irgendwo im multidimensionalen Array

Zum Beispiel habe ich hier 3 "Aggs", aber in der Praxis ist die Menge an Aggs nicht festgelegt. Um dieses JSON zu erstellen, möchte ich die Tabelle und dann JSON encodieren.

Problem, ich weiß nicht, wie man etwas in "by_psh_comm" zum Beispiel drückt (ich muss erkennen, wo ist by_psh_comm in meinem Array, arr [], arr [] [] oder arr [] [] [] ....).

Vielen Dank! : - *

+0

Eine Tabelle ist im Allgemeinen keine verschachtelte Struktur, wie verwenden Sie eine, um diese JSON zu erstellen? – apokryfos

+0

Ich benutze json_encode() und es funktioniert eigentlich gut. –

+0

Also ist Ihre Tabelle * eine verschachtelte Struktur? – apokryfos

Antwort

0

Versuchen Sie Folgendes:

function pushIf(&$array, $value) { 
     if (isset($array["aggs"]) { 
      pushIf($array["aggs"], $value); //Recurse 
     } 
     if (isset($array["by_psh_comm"])) { 
      $array[] = $value; //This is pushed in the same array that contains "by_psh_comm" 
     } 
} 

pushIf($array, $value); 
0

Vielen Dank apokryfos!

Es war nicht ganz was ich brauche, aber Sie starten mich ernsthaft auf die gute Art! : D Dies ist das Ergebnis, wenn jemand es braucht!

function addAggs($parent_aggs, $toPush, $tab) { 
     if(array_key_exists($parent_aggs, $tab)){ 
      if(!isset($tab[$parent_aggs]["aggs"])){ 
       $tab[$parent_aggs]["aggs"] = array(); 
      } 
      array_push($tab[$parent_aggs]["aggs"], $toPush); 
      return $tab; 
     } else { 
      foreach($tab as &$subTab){ 
       if (is_array(addAggs($parent_aggs, $toPush, $subTab))){ 
        $subTab = addAggs($parent_aggs, $toPush, $subTab); 
        return $tab; 
        exit(); 
       } 
      } 
      return false; 
     } 
    } 
Verwandte Themen