PHP バージョン 5.3.14
配列の宣言とプログラムでの使用方法: (一般的なコード スキームに変更)
次のようなPHP配列を作成しています:
$totalData;
getnumSends($SomeObject){
$dataArray[0] = $someObject->Date //Date is a String
foreach($anotherObject as $Object2){
switch($anotherObject->String){
case "XX":
$dataArray[1]+=1;
break;
case "YY":
$dataArray[2]+=1;
break;
}
}
}
//Method just puts an int value at certain places in the array
//extra code for putting ints in the array
return $dataArray;
}
$someIndex = 0;
foreach($someObject as $Object1){ //that is very abstract
$totalData[$someIndex] = $Object1->getNumSend($someObject);
$someIndex+=1;
}
それは理にかなっていますか?
print_r($totalData);
が呼び出されたときに次のような PHP 配列があるとします。
Array
(
[0] => Array
(
[0] => 2012-04-25
[1] => 2
[2] => 1
[3] => 2
[4] => 1
[5] => 1
[6] => 1
)
[1] => Array
(
[0] => 2012-04-29
[1] => 4
[2] => 4
[3] => 2
[4] => 1
[5] => 1
)
)
今、データのプロットに使用したいJavaScriptコードがいくつかあります。スクリプトは次の形式のデータを必要とします。
var matrix = [[2012-04-25, 2, 1, 2, 1, 1, 1], [2012-4-29, 4, 4, 2, 1, 1]];
PHP配列をJavaScript配列に取得するには、複数の方法があるようですが、私が試したすべての方法ですべての角括弧を取得することはできません. 私が得る最も近いものはこれです:
<script>
var matrix = <?php echo json_encode($totalData); ?>;
</script>
「ページのソースを表示」からの出力:
var matrix = [[{"0":"2012-04-25","1":2,"2":1,"3":2,"4":1,"5":1,"6":1}],[{"0":"2012-04-29","1":4,"2":4,"3":2,"4":1,"5":1}]];
PHP の 2 次元配列から Javascript の 2 次元配列に変換する方法はありますか? 各スポットを手作業で埋めるメソッドを書くのは避けたいと思っていましたか? JSONを間違って使用しているだけだと思っていました。どんな助けでも素晴らしいでしょう。