我在php中得到了一个由sql查询产生的多维数组。我感兴趣的是如何使用数组中的第一个值作为javascript中新变量的名称,并将数组中的第二个值指定为新创建的变量的值。
我试过的是这样的
foreach ($language_array as $value) {
echo "<script> var ".$value[0]." = ". $value[1]."; </script>";
}
但当我尝试document.write (变量)时,它是未定义的。
Array
(
[0] => Array
(
[0] => el1
[1] => Grouping
)
[1] => Array
(
[0] => el2
[1] => Type
)
[2] => Array
(
[0] => el3
[1] => Starting Date
)
[3] => Array
(
[0] => el4
[1] => Ending Date
)
[4] => Array
(
[0] => el5
[1] => Section
)
[5] => Array
(
[0] => el6
[1] => Cell
)
[6] => Array
(
[0] => el7
[1] => Client
)
[7] => Array
(
[0] => el8
[1] => Status
)
[8] => Array
(
[0] => el9
[1] => Article
)
[9] => Array
(
[0] => el10
[1] => Search
)
)
谢谢
欧文
发布于 2018-10-20 05:17:10
您正在编写的脚本如下:
<script> var el1 = Grouping; </script>
这将尝试使用Grouping
作为变量,但您希望它是一个文字字符串。
您应该使用json_encode()
将$value[1]
转换为JavaScript文本。对于PHP字符串,它将添加必要的引号。
foreach ($language_array as $value) {
echo "<script> var ".$value[0]." = ". json_encode($value[1]) ."; </script>";
}
正如另一个答案所说,没有必要将每个变量放在它自己的脚本中,尽管我认为这实际上不会对它的处理方式产生太大影响。
发布于 2018-10-20 03:55:51
当我们把document.write()放在一个函数中时,你能用Alert(变量)代替documenti.write...because吗?当该函数被调用时,所有HTML元素都将被覆盖,并替换为新的、指定的文本...
https://stackoverflow.com/questions/52898341
复制相似问题