请提供有关如何将php数组值分配给javascript数组的帮助
-----------使用下面的PHP代码我在php数组中存储数据-----------
<?php
$str_query="SELECT title,description FROM tablename ORDER BY title";
$rs_sch=GetRecordset($str_query);
$int_count=0;
$schd_arr = array();
while(!$rs_sch->EOF())
{
$schd_arr[$int_count] = $rs_sch->Fields("title").": ".$rs_sch->Fields("description");
$rs_sch->MoveNext();
$int_count++;
}
?>
-----使用下面的javascript代码我试图将php数组数据存储到javascript数组-----
请让我知道在以下2个位置写入变量的内容和方法,以便我的代码可以正常工作。
<script type="text/javascript" language="javascript">
var pausecontent=new Array()
for (sch_cnt=0; sch_cnt<*Here I want to assign value of $int_count php variable*; sch_cnt++)
{
pausecontent[sch_cnt]=<?php *Here I want to assign php array and counter values (something like this - $schd_arr[sch_cnt];)* ?>;
}
</script>
提前谢谢你, KRA
答案 0 :(得分:43)
您可以直接使用json_encode
功能。它易于使用并生成有效的JavaScript,因此非常稳定:
<script type="text/javascript">
var pausecontent = <?php echo json_encode($php_array); ?>;
</script>
答案 1 :(得分:40)
你不能这样循环,你需要将PHP数组和push
循环到javascript数组中:
<script type="text/javascript" language="javascript">
var pausecontent = new Array();
<?php foreach($schd_arr as $key => $val){ ?>
pausecontent.push('<?php echo $val; ?>');
<?php } ?>
</script>
答案 2 :(得分:2)
我认为你最好先把数组放到你的javascript中。这将是这样的:
var theVariableYouWantTheArrayIn = <?php echo json_encode($theArrayYouWantInJavascript); ?>
之后它是一个普通的js数组,所以你可以使用像.length这样的属性,这可能会使循环变得更容易。
答案 3 :(得分:0)
以上两个答案都很好。
答案 4 :(得分:0)
我遇到同样的问题,但最终找到了最佳解决方案
<script>
var arr=[];
arr.push('<?php
include('conn.php');
$query = "SELECT *FROM c group by name";
$res = mysqli_query($conn,$query) or die(mysqli_error($conn));
while($data = mysqli_fetch_array($res))
{
echo $data["name"];
}
?>');
</script>
答案 5 :(得分:-1)
你可以这样做:
for (sch_cnt=0; sch_cnt<?php echo $int_count; ?>; sch_cnt++)