【问题标题】:Preparing an array for vis.js (PHP to JavaScript)为 vis.js 准备一个数组(PHP 到 JavaScript)
【发布时间】:2015-04-01 20:14:45
【问题描述】:

尝试通过 PHP 将数据从 GraphDB (Neo4J) 传输到 JavaScript,因此 vis.js 可用于显示这些数据。

到目前为止:

  • 从 Neo4J 读取数据并将它们存储在 PHP 数组中:

Array
(
    [0] => Array
        (
            [0] => 550c2646c4985
            [1] => LOCAL_USER
        )

    [1] => Array
        (
            [0] => 550c267840b7a
            [1] => CSM
        )

    [2] => Array
        (
            [0] => 550c4e6e563b9
            [1] => TM
        )

    [3] => Array
        (
            [0] => 550c4e76b0701
            [1] => SM
        )

)
  • 浏览网络,发现json_encode作为将数据从PHP传输到JavaScript的正确函数:

    var groups= <?php echo json_encode( $group_nodes ) ?>;

  • vis.js 期望像

  • 这样的数组中的数据

  var nodes = [{
              id: 1,
              label: 'Node 1',
          }, {
              id: 2,
              label: 'Node 2'
          }, {
              id: 3,
              label: 'Node 3'
          }, {
              id: 4,
              label: 'Node 4'
          }, {
              id: 5,
              label: 'Node 5'
          }];

我卡住了,因为我找不到将数组转换为 vis.js 可读格式的方法。当我检查 javascript 数组时,我得到了所有元素,但只有逗号分隔。似乎 vis.js 也期望它们在语法 [{...,...},{...,...}] 中。

知道如何生成这样的格式吗?

【问题讨论】:

    标签: javascript php arrays chap-links-library vis.js


    【解决方案1】:
    $newArray = array();
    
    for ($arrData as $value) {
       $newArray[] = array('id' => $value[0], 'label' => $value[1]);
    }
    
    $js = json_encode($newArray)
    

    【讨论】:

    • 假设 $arrData 是您提供的 php 数组。
    • 太棒了,非常感谢。这有很大帮助。假设您的意思是 FOREACH-Loop?干杯,快乐的巴莱尔
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2014-04-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2016-09-04
    • 2010-10-17
    • 2012-09-01
    相关资源
    最近更新 更多