我正在一个需要在JavaScript中使用PHP值创建数百个变量的项目。我可以这样写每一行:

var M1 = <?php echo json_encode($$mn[0]); ?>;
var M2 = <?php echo json_encode($$mn[1]); ?>;
var M3 = <?php echo json_encode($$mn[2]); ?>;


正如我说的那样,其中有数百种,如果可以循环进行,那么我将对学习非常感兴趣。我到处搜索,找不到直接的答案。很可能这是不可能的。我是编码新手,仍然在学习某些代码可以做什么和不能做什么。

任何有关此主题的见解或方向将不胜感激!

如果不是这样,是否可以将数组索引用作javascript变量名称?我已经为JS和PHP创建了一个数组。上面的PHP可以正常工作,但如果我尝试为如下所示的JS使用数组索引,则会中断:

var mcirc[0] = <?php echo json_encode($$mn[0]); ?>;


我已经输出了数组,并且值正确显示出来,但是当我运行它时,我得到了消息:

[object HTMLDivElement]


而不是应该显示的实际值。

更新

$ mn数组:

for ($m1 = 1; $m1 < 6; $m1++) {
    $mn[] = 'M'.$m1;
}


更新

选择SQL创建数组:

$sqlMC = "SELECT * FROM tblmaincircles";
$result = $conn->query($sqlMC);

    while($row = $result->fetch_assoc()) {
        $$row["mcID"]= $row["mcName"];
}


mcID的数组如下所示:

M1 = "text1"
M2 = "text2"
M3 = "text3"
M4 = "text4"
M5 = "text5"


更新

所需的最终结果:

var M1 = "text1";
var M2 = "text2";
var M3 = "text3";
var M4 = "text4";
var M5 = "text5";


其中“ text1,... 2,... 3,... 4,... 5”来自MySQL数据库。

更新

这是完成此工作的最终代码:

$sqlMC = "SELECT mcID, mcName FROM tblmaincircles";
$result = $conn->query($sqlMC);


    while($row = $result->fetch_assoc()) {
        $mcID[] = $row["mcID"];
        $mcName[] = $row["mcName"];
}


<?php for ($m1 = 0; $m1 <5; $m1++) { ?>
    var <?php echo $mcID[$m1]; ?> = <?php echo json_encode($mcName[$m1]); ?>;
<?php } ?>

最佳答案

首先,在查询部分中,声明一个变量以保存所需的结果。我假设表中的M1mcID,而text1mcName。例如:

$sqlMC = "SELECT * FROM tblmaincircles";
$result = $conn->query($sqlMC);

$mac = [];//or $mac = array(); Depends on your PHP version.

while($row = $result->fetch_assoc()) {
    $mac[$row["mcID"]] = $row["mcName"];
}


然后,使用$mac循环遍历foreach数组。我假设您在HTML中使用PHP代码。 $key将是mcID$value将是mcName

//php tag for the foreach opening
<?php foreach ($mac as $key => $value) { ?>

    var <?php echo $key; ?> = <?php echo "'$value';"; ?>

//php tag for the foreach closing
<?php } ?>


或者,如果您想使用javascript关联数组。

var macJs = {};

<?php foreach ($mac as $key => $value) { ?>

    macJs.<?php echo $key; ?> = <?php echo "'$value';"; ?>

<?php } ?>


您可以在javascript macJs.M1中访问类似的元素。

关于javascript - for循环将javascript变量=设置为php变量,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/35298173/

10-09 16:08
查看更多