来自php数组值的javascript变量声明

标签 javascript php arrays variables foreach

我在 php 中得到了一个由 sql 查询产生的多维数组。 我感兴趣的是如何使用数组中的第一个值作为 javascript 中新变量的名称,并将数组中的第二个值分配为新创建的变量的值。

我试过的是这个

  foreach ($language_array as $value) {


echo "<script> var ".$value[0]." = ". $value[1]."; </script>";

}

但是当我尝试 document.write (variable);这是未定义的。

 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
        )

)

谢谢

欧文

最佳答案

您正在编写如下脚本:

<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>";
}

正如另一个答案所说,没有必要将每个变量放在自己的脚本中,尽管我认为它实际上不会对其处理方式产生太大影响。

关于来自php数组值的javascript变量声明,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52898341/

相关文章:

php - MySQL搜索字符串包含的位置

c - C 中允许的静态数组的最大大小是多少?

PHP 数组到 MYSQL 的插入在 11,000 行后停止

javascript - 动态更改 javascript 函数?

javascript - 根据 [Slick] slider 选择加载 div

php - 存储大量文档并能够搜索其内容的最佳方式

arrays - 将返回类型更改为小数?

javascript - 如何检查字符串的前 5 个字符和后 5 个字符?

javascript - Bootstrap typeahead 存储更多值

php - 如何在 Twig 中检查 null?