使用 JavaScript 中的 for 循环值和 PHP 变量

using for loop value from javascript with php variable

本文关键字:PHP 变量 循环 JavaScript 中的 for 使用      更新时间:2023-09-26

我有这段代码,它在javascript中执行一个for循环,里面有一个php数组。 无论如何,我可以将该变量用于 php 变量内部的循环。 这一切都在 php 内部。

echo '<script>
for (var i =0; i<4;i++){
alert("hey"'.$phparr[i].');

}</script>';

我知道这行不通,因为$phparr是一个 php 变量,而 i 是一个 javascript 变量,无论如何我能做到这一点吗?

尝试:

<script>    
    var phparr = <?php echo json_encode($phparr); ?>;
    for (i in phparr){
        alert("hey" + phparr[i]);
    }
</script>

PHP是一种服务器端语言,这意味着它在到达客户端(浏览器)之前执行。

JavaScript是一种客户端语言,这意味着它是在浏览器(客户端)中执行的。

对于新的Web开发人员来说,最好的工具是Google搜索。了解如何有效地进行搜索。

你快到了。为了访问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>
';

如果你的php数组来自数据库,或者包含javascript可能会误解的特殊字符,请确保在输出前进行清理。

对象在你的 php 数组字符串中吗?如果是这样,您需要在内爆之前用转义引号包围对象。

for($i=0; i<count($phparr); $i++){
    $phparr[i] = '"'.$phparr[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>

你应该这样做:

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

你的基本问题是你忘记了PHP代码和JavaScript代码不会同时执行。PHP 运行到完成,输出 HTML 和 JavaScript。然后浏览器运行 JavaScript。如果 JavaScript 需要动态访问 PHP 变量(包括数组)中的数据,那么 PHP 需要生成 JavaScript 以 JavaScript 结构声明数据。这就是所有其他答案正在做的事情。