2016-05-21 7 views
1

ich brauche Diagramm zu erstellen, basierend auf PHP-Array und ich fand etwas in Stackoverflow Beiträge durchqueren, aber diese Antworten nicht hilft dies für die Umwandlung:PHP Array-Schlüsselwert nebeneinander in Javascript verwenden

Array 
(
    [product sample 1] => Array 
     (
      [0] => Array 
       (
        [hitsTotal] => 63 
       ) 

      [1] => Array 
       (
        [hitsTotal] => 113 
       ) 

     ) 

    [product sample 2] => Array 
     (
      [0] => Array 
       (
        [hitsTotal] => 57 
       ) 

      [1] => Array 
       (
        [hitsTotal] => 107 
       ) 

     ) 
) 

zu

['product sample 1', 63, 113], 
['product sample 2', 57, 107] 

wie konvertieren?

+2

Haben Sie etwas versucht? – Rayon

+0

@Rayon, danke für die Antwort, eigentlich bin ich neu zu chart und das ist die neueste Dump nach einigen Kodierung ich steckte auf. Ich kann es nicht herausfinden, wie JavaScript-Stil aus diesem zu zeigen. –

+1

Neu im Diagramm ist nicht wirklich relevant, wie ein Array – charlietfl

Antwort

1

Unter der Annahme, $input wird das Array Sie in Ihrem Beitrag können Sie wie folgt vorgehen:

$output = array(); 

foreach($input as $key => $value) 
{ 
    $obj = array(); 
    $obj[] = $key; 
    $obj[] = $value[0]['hitsTotal']; 
    $obj[] = $value[1]['hitsTotal']; 
    $output[] = $obj; 
} 


var_dump($output); //This will print it on screen so you can validate the output 
+0

stimmt nicht Struktur in Frage – charlietfl

+0

@charlietfl Korrigiert – dimlucas

+0

Nein, es ist nicht .. OP hat assoziative Sub-Arrays – charlietfl

1

Um Ihre Daten für die Weitergabe an js (Client-Seite) als ein Array von Arrays herzustellen, verwenden Sie den folgenden Ansatz (array_walk , array_column, array_merge und json_encode Funktionen):

// supposing that $arr is your initial array 
$result = []; 
array_walk($arr, function($v, $k) use(&$result){ 
    $hitsTotals = array_column($v, 'hitsTotal'); 
    $result[] = array_merge([$k], $hitsTotals); 
}); 

echo json_encode($result); 

Der Ausgang:

[["product sample 1",63,113],["product sample 2",57,107]] 
+0

Danke für Hilfe und +1 für Erklärung. –

+0

@ HamedOkhovvat, gern geschehen – RomanPerekhrest