使用带有php变量的javascript for循环值

使用带有php变量的javascript for循环值,php,javascript,Php,Javascript,我有一段代码,在javascript中执行for循环,其中包含一个php数组。无论如何,我可以使用php变量内部的循环变量。这都是php内部的内容 echo '<script> for (var i =0; i<4;i++){ alert("hey"'.$phparr[i].'); }</script>'; echo' 对于(var i=0;i如何将PHP数组存储在一个Javascript变量中,并按照kpotehin的建议进行循环 <script&

我有一段代码,在javascript中执行for循环,其中包含一个php数组。无论如何,我可以使用php变量内部的循环变量。这都是php内部的内容

echo '<script>
for (var i =0; i<4;i++){

alert("hey"'.$phparr[i].');



}</script>';
echo'

对于(var i=0;i如何将PHP数组存储在一个Javascript变量中,并按照kpotehin的建议进行循环

<script>
var i = 0, name;
var myArr = <?php echo json_encode($my_array); ?>;

while (name = myArr[i++]){
  alert("hey " + name);
}
</script>

变量i=0,名称;
var myArr=;
while(name=myArr[i++]{
警报(“嘿”+名称);
}

您应该这样做:

var arr = ["<?php echo implode('","',$array); ?>"];
for (var i =0; i<4;i++){
alert("hey"+ arr[i]);
}

var arr=[”您的基本问题是忘记了PHP代码和JavaScript代码不是同时执行的。PHP运行到完成,输出HTML和JavaScript。然后浏览器运行JavaScript。如果JavaScript需要动态访问PHP变量(包括数组)中的数据,然后PHP需要生成JavaScript,在JavaScript结构中声明数据。所有其他答案都是这样做的。

试试:

<script>    
    var phparr = <?php echo json_encode($phparr); ?>;

    for (i in phparr){

        alert("hey" + phparr[i]);

    }
</script>

var phparr=;
对于(我在phparr中){
警惕(“嘿”+phparr[i]);
}
PHP是一个很好的工具,这意味着它在到达客户端(浏览器)之前执行

JavaScript是一种在浏览器(客户端)中执行的脚本

对于一个新的网络开发者来说,最好的工具就是谷歌搜索。

差不多了。要访问javascript中的php数组,首先必须将php数组回送到javascript数组中。请尝试:

$phparr_imploded = implode(',',$phparr);
echo '
    <script>
        var arr = ['.$phparr_imploded.'];
        for (var i =0; i<4;i++){
            alert("hey"+arr[i]);
        }
    </script>
';
$phparr\u introded=内爆(',',$phparr);
回声'
var arr=['.$phparr_内爆];

对于(var i=0;i)(这假设
$my_array
在PHP中保存数组)使用json_encode通常比这样做要好。原因是如果其中一个$array元素包含引号怎么办?我使用了
for(phparr中的i)
因为我不知道你的密钥是什么以及有多少。在这个问题的答案上有很多反对票。有人认为他们是个人吗?嘿,这很好,但是我的数组中包含的字符串实际上是html。例如,我有一个数组。现在它只是没有引号的东西,因为否则javascript不会接受它。是否有任何方法可以将它们放在那里,否则我无法在我的脚本选择中打印我的选项。啊,请记住有两种类型的引号,单引号和双引号。当同时使用3种不同的语言(html、javascript和php)时这可能会变得很棘手。根据您之前输入的代码,警报应该可以正常工作。我假设这不是您目前正在处理的代码。
for($i=0; i<count($phparr); $i++){
    $phparr[i] = '"'.$phparr[i].'"';
};