var stds = [];
<?php
foreach ($this->students as $key => $value){
?>
var smval = "<?php echo $value?>";
stds.push( smval );
<?php
}
?>
alert("stds"+stds);
alert(“stds”+ stds); //打印abc,bcd,efg等......
以上代码适用于推送学生姓名。 现在我想推送学生CODES,这也是价值$ key。 如何创建一个关联数组来执行该操作
答案 0 :(得分:3)
最干净,最安全的方法是将PHP对象转换为json_encode的JavaScript对象文字:
var students = <?= json_encode($this->students) ?>;
// sample usage
alert (students["Tony"]); // Tony's student code
alert (students["Geezer"]); // Geezer's student code
alert (students["Vinnie"]); // etc.
答案 1 :(得分:1)
var stds = [];
<?php
foreach ($this->students as $key => $value){
?>
stds.push( { 'name': '<?php echo $value; ?>', 'code': '<?php echo $key; ?>' } );
<?php
}
?>
alert("stds"+stds);
准确地说:JavaScript中没有关联数组。您可以使用上面的代码,它会为您提供包含数据或下面代码的对象数组,从而为您提供类似于PHP中的对象。
var stds = {};
<?php
foreach ($this->students as $key => $value){
?>
stds[ '<?php echo $key; ?>' ] = '<?php echo $value; ?>';
<?php
}
?>
alert("stds"+stds);
答案 2 :(得分:0)
var stds = <?php echo json_encode( $this->students); ?>;
不确定数组中的键是什么
alert( stds[0][ key1 ] +' ' + stds[0][ key2 ])
答案 3 :(得分:0)
我认为你正试图做更多的事情
stds[<?php echo $key?>] = '<?php echo $value; ?>';
或者您可以尝试在此处演示的对象中执行此操作: