0

假设我有 100 行要保存到 javascript 变量的 php 变量。

 $data1;
 $data2;
 $data3;
 $data4;
 ...
 $data99;
 $data100;

如何将这些变量保存在函数中,这样我就不必手动保存它,例如:

var data1 = '<?php echo $data1; ?>';
...

如果能解决就太好了。其他很多工作:/

4

5 回答 5

2

将它们打包成一个对象,然后使用

var data = <?php echo json_encode($your_object); ?>;
于 2013-10-25T09:15:45.783 回答
2

不工作。PHP是服务器端,javascript客户端。当 JS 被初始化时,PHP 就完成了它的工作。但是您可以使用 AJAX 或执行 for 循环并使用 PHP 编写 javascript。

echo "<script>";
for($i = 0; $i < 100; $i++){ 
    echo "var data" . $i " = " . $data1 .";";
}
echo "</script>";

未经测试。

于 2013-10-25T09:18:07.127 回答
1

如果您的变量与您发布的变量一样并且变量的数量是已知的,您可以简单地执行以下操作:

$num_vars = 50;

for($i=0; $i < 50; $i++) {
   $tmp_var = "$data$i";
   if (is_numeric($tmp_var)) {
      echo "var myVar$i = $tmp_var;\n";
   } else {
      echo "var myVar$i = '$tmp_var';\n";
   }
}

请记住使用双引号。PHP 识别双引号中的变量。还要测试它是数字还是字符串,如图所示。

于 2013-10-25T09:27:16.130 回答
0

创建一个变量数组,然后尝试使用json_encode

var data = <?php echo json_encode($data); ?>;
data = JSON.parse(data);
alert(data['data1']);
于 2013-10-25T09:19:38.157 回答
0

您可以将它们存储在一个数组中,然后使用 php for 循环使用这些值填充一个 javascript 数组。

于 2013-10-25T09:15:53.547 回答