-2

PHP 配列があり、その値を JavaScript 配列に追加したいと考えています。たとえば、私はこのようなことをしています。

$k_data = json_encode($k)

したがって

k_data = [2,3,4,8,9]

今javascriptで私は次のようにやっています

var s4 = [[]];
for(var i = 0; i<5; i++)
{ 
   s4.push([i,$k_data[i]]);
}
plot5.series[0].data = s4;

ここで、plot5 は jqplot グラフです。しかし、これは機能していません。次の作業中に空白のグラフが表示されます

for(var i = 0; i<5; i++)
{ 
   s4.push([i,Math.sin(i)]);
}

どこで間違いを犯していますか?

4

3 に答える 3

1

for ループを実行し、Javascript コマンドをエコーし​​て Javascript 配列を埋めることができます。

<script>
var s4 = [[]];

<?php

$k_data = json_encode($k)
$i = 0;

foreach($k_data as $v) { 
   echo 's4.push([' , $i , ',Math.sin(' , $v , ')]);';

   ++$i;
}

?>

plot5.series[0].data = s4;
</script>
于 2013-11-07T13:20:49.257 に答える
1

PHP配列のみを扱いたい場合は、これを行うことができます-

まず、配列を内してカンマ区切りの文字列を作成します$str。と同じように-

<?php
  $str = implode(",", $array);
?>

次に、splitを使用して、php 文字列を JavaScript 配列に変換します。と同じように-

<script>
  var str = <?php echo $str; ?>;
  var array = str.split(',');
</script>

または、 json_encode() が直接役立ちます-

<script>
 <?php
  $js_array = json_encode($php_array);
  echo "var js_array = ". $js_array . ";\n";
 ?>
</script>
于 2013-11-07T13:23:28.613 に答える
1

JavaScriptでphp変数を参照しているようです。PHP はサーバー側で実行されるのに対し、javascript はブラウザーによって実行されることに注意してください。したがって、PHP 変数を JavaScript に渡す必要があります。JavaScript と PHP が 1 つの .php ファイルにあると仮定すると、上記の JavaScript を次のように置き換えます。

<?php $k_data_js = implode("','", $k_data); ?>
var k_data = <?php echo "['" . $k_data_js . "']"; ?>;
var s4 = [[]];
for(var i = 0; i<k_data.length; i++)
{ 
   s4.push([i,k_data[i]]);
}
plot5.series[0].data = s4;

変数は 2 行目で javascript に渡されます。k_dataそれ以降は、スクリプトで参照できます。

于 2013-11-07T13:35:52.663 に答える