javascript - 将嵌套的 PHP 循环传递给 javascript

标签 javascript php arrays

我有一个如下所示的 PHP 数组:

([NAME] => Array ( [0] => 16 [1] => 12 [2] => 4 [3] => 0 ))
([NAME2] => Array ( [0] => 19 [1] => 19 [2] => 0 [3] => 0 ))
([NAME3] => Array ( [0] => 31 [1] => 29 [2] => 2 [3] => 0 ))

这个数组是由 PHP 通过从数据库中提取数据生成的。 (数组比这个大很多,但为了简单起见,我只包含了 3 条记录)

我真的需要这些数据在生成条形图的脚本中可用。现在,我只需要名称和第一条记录。因此,例如,在 PHP 中

<?=$array['NAME'][0]?>
<?=$array['NAME2'][0]?>

会回显我需要的每个信息,但我不确定如何将其放入 javascript 中我需要的格式。

这是我需要的 javascript 格式:

        { tech: 'NAME', value: $array['NAME'][0] },
        { tech: 'NAME2', value: $array['NAME2'][0] },
        { tech: 'NAME3', value: $array['NAME3'][0] },
        { tech: 'NAME4', value: $array['NAME4'][0] },
        ...etc

某些类型的循环是首选,因为名称可能会有所不同。 如果它只是 PHP,我可以做到,但我的 Javascript 不太流利。 有人可以帮我想出一个解决方案吗?

最佳答案

好消息是您不必了解太多 javascript。在 php 中根据需要创建数据结构,然后使用 json_encode:http://php.net/manual/en/function.json-encode.php

<?php
        $for_chart = array();
        foreach($names as $key => $name){
           $obj = new stdClass;
           $obj->tech = $key;
           $obj->value = $name[0];
           $for_chart[] = $obj;
        }
    ?>   

结果是:

[{"tech":"NAME","value":1},{"tech":"NAME2","value":5},{"tech":"NAME4","value":9}] 

您可以像这样在您的 javascript 中使用它:

<script>
    var my_names = <?=json_encode($for_chart)?>;
    alert(my_names[0].value); // alerts "1"
</script>

http://sandbox.onlinephpfunctions.com/code/2682f09fd5515b220402db9c600b70a0501a87d9

关于javascript - 将嵌套的 PHP 循环传递给 javascript,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35996244/

相关文章:

javascript - 如何在 JavaScript 中运行函数内的函数

javascript - 单元测试 Mongoose 方法

javascript - NodeJS 脚本在浏览器刷新两次后才响应

php - 不同的 PHP 目录 Apache + CLI (chrooted)

php - MySQL 插入

php - 使用mysql动态填充php中的数组

javascript split() 函数 - 每个字符串末尾的幽灵字符

javascript - 如何循环遍历具有多个对象的数组并仅在 Javascript 中列出某些元素?

python - 垂直拆分数组,添加数据行,排序,然后对降雨数据应用回归

arrays - 如果使用 IntroSort 算法,Swift Array.sort() 如何比元组更快地对整数进行排序? Swift 对整数的排序方式不同吗?