2016-11-29 9 views
0

私は、ajaxを使用して処理される配列結果ですべて[microtime]を取得する必要があるというシナリオがあります。ここで配列が配列内にある場合、配列をjavascript/phpを使用して変換する場合

ドロップダウン変化に

  1. プロセスだ、私は値を取り、MySQLのクエリでそれを適用します。
  2. 配列を返します。

結果をprint_rできました。

しかし、私はすべての[微小時間]およびすべての[合計(SRP)]

enter image description here

を取得したいがそれを行うための可能な方法があります。

のように、私は結果は次のようになりたい: **微小時間が数ヶ月<に変換されて----この私はすでに

var months = [January,February,March..blablabla] 
var sum = [396484,629103,blablablabla] 
+0

使用するforeachで、2つの異なる配列ヶ月との和にあなたの配列を分割です。 :) – RJParikh

+0

あなたは何を求めているのですか? – Afsar

答えて

1

は完全なソリューション

<?php 
$data= 
Array(
"0"=>array(
"microtime"=>1469700000.7834700, 
"SUM(src)"=>396484 
), 
"1"=>array(
"microtime"=>1472000004.64866100, 
"SUM(src)"=>629103 
), 
"2"=>array(
"microtime"=>1469700000.7834700, 
"SUM(src)"=>396484 
) 
); 
echo "<pre>"; 
print_r($data); 
echo "</pre><br/><br/>"; 
$month=array(); 
$sum=array(); 
foreach($data as $key=>$val){ 
$month[]=date("M",$val["microtime"]); 
$sum[]=$val["SUM(src)"]; 
} 
?> 
<script> 
var months = '<?php echo json_encode($month);?>'; 
var sum = '<?php echo json_encode($sum); ?>' 
</script> 

と出力

output

おかげ

+0

そのvar月をjsファイルに渡したい場合はどうすればよいですか? 1つのファイルにjsとphpコードの両方を持つ代わりに、私は別々のjsファイルを持っています。 – Ligthers

+0

'$ data = $ content; \t \t \t \t $ month = array(); \t \t \t \t $ sum = array(); \t \t \t \t foreachの($として$コンテンツキー=> $ val)で{ \t \t \t \t $月[] =日付( "M"、$ヴァル[ "微小時間"])。 \t \t \t \t $ sum [] = $ val ["SRP"]; \t \t \t \t} \t \t \t \t $ A = json_encode($月)。 \t \t \t \t $ b = json_encode($ sum); \t \t \t \t echo $ a; \t \t \t \t echo $ b; ' これは私がしたことです。今私のjsファイル(ajax) '成功:機能(dataofconfirm){ アラート(dataofconfirm); /* var data_id = dataofconfirm ['microtime']; // [4831] alert(data_id); */ } 2つの部分をどのようにスプライスするか([1,2,3,4] [6,7,8,9]) – Ligthers

+0

js変数を関数の上に置くと、これらのvarを別々のjsファイルで直接使用できます – Mragank

3

があなたの結果にforeachループを使用し、別のを保存しました個別の配列の断片。

$months = $sums = array(); 
foreach ($results as $result) { 
    $months[] = getMonthFromMicrotime($result['microtime']); // Using your custom function here 
    $sums[] = $result['SUM(srp)']; 
} 
0

これよりもJavaScriptを使用して再生したい場合は、こちらをご覧ください。コードは今更新され、正常に動作します。ここ

<?php 

$array = array(
    array('microtime' => "1111111",'SUM(srp)' => "1"), 
    array('microtime' => "2222222",'SUM(srp)' => "2") 
); 
$array = json_encode($array); 
?> 
<script> 
var json = <?php echo json_encode($array); ?>; 
json = JSON.parse(JSON.stringify(json).split('SUM(srp)').join('sum_srp')); 
var arr = JSON.parse(json); 
var microtime = []; 
var sum = []; 

window.onload = function() { 
    for (var key in arr) { 
     if (arr.hasOwnProperty(key)) { 
      microtime.push(arr[key].microtime); 
      sum.push(arr[key].sum_srp); 
     } 
    } 
    console.log(microtime); 
    console.log(sum); 
}; 

</script> 
関連する問題