[英]How to print php variable inside javascript and change php's array format
I use Chart.js to present my data. 我使用Chart.js展示我的数据。
var data_2 = {
datasets: [{
data: //print php var here,
backgroundColor: [
'#00c0ef',
'#f56954',
'#00a65a',
],
}],
};
I want to change my array format from something like 我想从类似的东西改变我的数组格式
Array ( [jml] => 833 ) Array ( [jml] => 6 ) Array ( [jml] => 18 )) 数组([jml] => 833)数组([jml] => 6)数组([jml] => 18))
to [833, 6, 18]
至[833, 6, 18]
My questions are how to print my php variable inside javascript and how to change php's array style to javascript's array style. 我的问题是如何在javascript中打印我的php变量,以及如何将php的数组样式更改为javascript的数组样式。 Thanks 谢谢
json_encode()
is well suited for injecting data into JavaScript: json_encode()
非常适合将数据注入JavaScript:
<?php
$data = [["jml"=>833], ["jml"=>6], ["jml"=>18]];
$arr = array_column($data, "jml");
$var = json_encode($arr);
?>
<script>
var data_2 = {
datasets: [{
data: <?= $var ?>,
backgroundColor: [
'#00c0ef',
'#f56954',
'#00a65a',
],
}],
};
</script>
In php part: 在php部分:
<?php
$dataArr = Array ( Array ( 'jml' => 833 ), Array ( 'jml' => 6 ), Array ( 'jml' => 18 ));
$chartData = '';
foreach($dataArr as $data){
$chartData .= $data['jml'].',';
}
$chart = '['.rtrim($chartData,',').']';
?>
Then change in your script to: 然后将脚本更改为:
var data_2 = {
datasets: [{
data: <?php echo $chart; ?>,
backgroundColor: [
'#00c0ef',
'#f56954',
'#00a65a',
],
}],
};
Simple way 简单的方法
I had already tired this way,its working.See this link but,I have use laravel Recurring events in FullCalendar with Laravel 我已经厌倦了这种方式,无法正常工作。请参阅此链接,但是,我在Laravel中使用Laravel在FullCalendar中重复发生事件
var data_2 = {
datasets: [{
data: [<?php echo $var[0],$var[1],$var[2] ?>],
backgroundColor: [
'#00c0ef',
'#f56954',
'#00a65a',
],
}],
};
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.