[英]How to Create Associative array in JS
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。 我如何创建一个关联数组来做到这一点
最干净,最安全的方法是使用json_encode将PHP对象转换为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.
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);
var stds = <?php echo json_encode( $this->students); ?>;
不确定阵列中有哪些键
alert( stds[0][ key1 ] +' ' + stds[0][ key2 ])
我认为您正在尝试做更多的事
stds[<?php echo $key?>] = '<?php echo $value; ?>';
或者您可以尝试在此处演示的对象中执行此操作:
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.