如何使用JavaScript变量作为键访问PHP数组元素?

如何使用JavaScript变量作为键访问PHP数组元素?,javascript,php,arrays,loops,Javascript,Php,Arrays,Loops,所以我试图建立一个简单的学术体系。 我制作了显示课程信息的动态框。 核心代码如下所示 function addcourses(){ //(numcourses) var num_courses= <?php echo $_GET['num']?>; //=numcourses var newdiv; var divIdName; var i=0; for(i=1;i<=num_courses;i++){ var divt

所以我试图建立一个简单的学术体系。 我制作了显示课程信息的动态框。 核心代码如下所示

function addcourses(){  //(numcourses)
    var num_courses= <?php echo $_GET['num']?>; //=numcourses
    var newdiv;
    var divIdName;
    var i=0;
    for(i=1;i<=num_courses;i++){
        var divtoadd = document.getElementById('courselist');
        newarticle = document.createElement('article');
        divIdName = 'course'+i;
        newarticle.setAttribute('id',divIdName);
        newarticle.innerHTML ='<div class="box"><h2><?php echo $course_num_arr[i]?></h2><div class="content"><p>Credit Hours: <?php echo $credit_arr[0]?> </p><p>Professor: <?php echo $prof_arr[0]?></p><p>Average GPA: <?php echo $avg_arr[0]?></p><p>GPA: <?php echo $gpa_arr[0]?></p></div></div>';
        call_course();        
        divtoadd.appendChild(newarticle);
    }
}
函数addcourses(){//(numcourses)
var num_courses=;//=numcourses
var newdiv;
var-divIdName;
var i=0;
对于(i=1;i
,因为
i
是javascript中的变量,所以我不知道如何处理这个问题


我想在
I=1时回显
$course\u num\u arr[1]
,在
I=2时回显
$course\u num\u arr[2]
等等。

如果您不想使用ajax调用并想将代码放在PHP文件中,可以使用
json\u encode()
函数。请参考下面的代码

<?php
$cources = array( "0" => array ("name" => "maths","credits" => 30),"1"
=> array ("name" => "physics","credits" => 30));
?>
<script>
data=<?php echo json_encode($cources); ?>;
for(i=0;i<data.length;i++){
    alert(data[i].name)
    var h = document.createElement("H1");
    var t = document.createTextNode(data[i].name);
    h.appendChild(t);
    document.body.appendChild(h);
}
</script>

数据=;

对于(i=0;i如果您不想使用ajax调用并希望将代码放入PHP文件中,您可以使用
json\u encode()
函数。请参阅下面的代码

<?php
$cources = array( "0" => array ("name" => "maths","credits" => 30),"1"
=> array ("name" => "physics","credits" => 30));
?>
<script>
data=<?php echo json_encode($cources); ?>;
for(i=0;i<data.length;i++){
    alert(data[i].name)
    var h = document.createElement("H1");
    var t = document.createTextNode(data[i].name);
    h.appendChild(t);
    document.body.appendChild(h);
}
</script>

数据=;

对于(i=0;在页面发送到浏览器之前,iPHP在服务器上运行,在页面离开服务器之后,javascript在浏览器中运行。无法直接从javascript获取值到PHP。您必须使用新请求(页面重新加载、重定向或ajax调用等)将javascript值发送回服务器y如果javascript代码放在php文件中或者它不起作用,那么就调用Ajax。对,我也这么认为。所以唯一可用的选项是Ajax。我只是想在工作之前确定一下。因为这样包含Ajax似乎很愚蠢。@Ravistm假设javascript代码放在php文件中,我能做什么?php在ser上运行ver,在页面发送到浏览器之前,在页面离开服务器之后在浏览器中运行javascript。无法直接从javascript获取值到PHP。您必须使用新请求将javascript值发送回服务器,可以是页面重新加载、重定向或ajax调用等。只有当javascript代码为p时,您才能这样做添加到php文件中,否则它将无法工作。请调用Ajax。对,我也这么认为。因此,唯一可用的选项将是Ajax。我只想在工作之前确定。因为这样包含Ajax似乎很愚蠢。@Ravistm假设javascript代码放在php文件中,那么我能做什么?感谢您的回答。但是,问题是结果应该进入innerHTML,这使我有麻烦。因此,正如您可以看到上面的代码,数据的结果应该在这里!感谢您的回答。然而,问题是结果应该进入innerHTML,这使我有麻烦。因此,正如您可以看到上面的代码,数据的结果应该在这里!