为vis.js准备数组(PHP到JavaScript)

时间:2015-03-22 14:21:36

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

尝试通过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期望它们也在语法[{...,...},{...,...}]中。

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

1 个答案:

答案 0 :(得分:1)

$newArray = array();

for ($arrData as $value) {
   $newArray[] = array('id' => $value[0], 'label' => $value[1]);
}

$js = json_encode($newArray)