2017-08-23 14 views
0

アム私のPHPで以下PHPの処理JSON出力

{ 
name: 'creditor', 
    y: 5600 
}, 
{ 
name: 'Supplier', 
    y: 2400, 
}, 

のJSONオブジェクトの出力リレーを製造しようと私は

public function getTotalInspected($ts1, $ts2){ 
    $inspectiondata = []; 
    $truck_categories = TblTruckSubtypes::find()->all(); 

    foreach ($truck_categories as $truck_category) { 
     $name = $truck_category["description"]; 
     $trucks = TblTrucks::find()-> 
       where(['truck_category'=>$truck_category["id"]])->count(); 
     $inspectiondata[] = ["name"=>$name,'y'=> $trucks]; 
    } 

    return $inspectiondata; 

} 

を有する上記フォーム

{ 
"name": 'creditor', 
    "y": 5600 
}, 
{ 
"name": 'Supplier', 
    "y": 2400, 
}, 
の出力を生成します

目的の出力の名前と出力の「名前」に注意してください。

どのようにすれば上記の出力を得ることができますか?

+2

所望の出力が無効JSONである - キーは文字列で、文字列は二重引用符で囲む必要があります。 –

+0

https://www.highcharts.com/docs/chart-concepts/seriesのデータを生成しようとしています –

+0

配列を 'json_encode'でエンコードし、JavaScript文字を' json_encode'でエスケープしてから、再度JSONを使用することができます。クライアント側で「parse」関数を実行します。 'var series = JSON.parse(?= json_encode(json_encode(['name' => '作成者'、 'y' => 2400]));?>)' –

答えて

-1

(json_encodeで試してみてください)とpreg_replce()

$inspectiondata= json_encode($inspectiondata); 

$inspectiondata = preg_replace('/"([a-zA-Z]+[a-zA-Z0- 
            9_]*)":/','$1:',$inspectiondata);