【发布时间】:2017-03-09 15:47:23
【问题描述】:
尽管有所有来源,但我无法让它工作。我尝试以下方法:
<?php
$list_array = array();
foreach ($this->resultatTypeMail as $mailType) {
$nom = $mailType->getNom();
$objet = $mailType->getObjet();
$list_array[] = array(
'Name' => $nom,
'Object' => $objet,
);
echo "<script type='text/javascript'>alert('$nom');</script>"; // this is OK
echo "<script type='text/javascript'>alert('$objet');</script>"; // this is OK
}
?>
<script type="text/javascript">
var js_array = [<?php echo json_encode( $list_array ); ?>];
alert(js_array[0]); // This returns undefined
</script>
当我提醒他们时,我在 $nom 和 $objet 上得到了令人满意的结果。
问题:
js_array[0] 返回undefined
请注意,我不在 UTF-8 中。不过我不确定它是否相关。
编辑:我的目标是获得一组可在 JS 中使用的自定义 php 对象。
【问题讨论】:
-
替换 var js_array = []; with var js_array = [];并检查
-
我相信 json_encode 将具有字符串值的数组编码为 JSON 对象的数组键,而不是数组。
-
我检查了我之前的评论,这是真的。您的解决方案是使用 array_values,因此它已正确转换为数组。或者在您的 javascript 中使用 js_array.Name
-
在
-
print_r($list_array) 查看foreach后的结果
标签: javascript php arrays