如何使用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,这使我有麻烦。因此,正如您可以看到上面的代码,数据的结果应该在这里!