php - Chrome 中的 JavaScript 问题

标签 php javascript

我在 javascript 中有以下代码
我将 php 数组存储在下面的 javascript 数组中

<script type="text/javascript">

    var name=new Array();
    <?php
        for($i=0;$i<count($ids); $i++)
            {
                echo "name[$i]='".$name[$i]."';";
            }
    ?>

</script>

当我在 Firefox 中提醒 name[1] 时,我可以看到 name[1] 的值,但是当我在 chrome 中运行代码时,我在提醒框中得到了未定义的信息。

我该如何解决这个问题。 我是否必须改变存储数组的方式或者我是否必须做其他事情。

最佳答案

因为你在声明变量时犯了很大的罪:

  • 这是一个全局性的做法,这是不好的做法。
  • 它的名字是name ,这是chrome中的保留关键字,只需打开控制台并输入 for (n in window){if (n === 'name'){console.log(true)}} ,它会记录 true
  • 不要使用new Array(); ,使用[]

在 php 前面:要么一致使用双引号,要么使用单引号(但这只是我个人的偏好):

echo "name[$i]='{$name[$i]}';";
echo 'name['.$i.']="'.$name[$i].'";';

就像你放置卷发的方式一样......:-P

关于php - Chrome 中的 JavaScript 问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11844501/

相关文章:

php - Google Maps Geocoding API - 国家偏见,奇怪的结果

php - Silverstripe CMS 是否像看上去那样易于部署、维护和开发?

javascript - 如何隐藏 HTML iframe 中的元素?

php - 对于NSMutableArray的Objective-C中的每个循环

php - yii 在页面刷新时保存下拉选中状态

javascript - 如何从一个 QtScript .js 文件调用另一个 QtScript .js 文件

javascript - 从输入数据作为图像数组传递到 api

javascript - 我可以手动将调度添加到组件的 props 而不是 connect() 吗?

javascript - Angularjs $http获取失败,但在 postman 和浏览器中请求成功

php - 编辑模板 Bootstrap 以在行中显示 4 个产品图像