2015-03-22 5 views
0

Пытается перенести данные с GraphDB (Neo4J) с помощью PHP на JavaScript, поэтому vis.js можно использовать для отображения этих данных.Подготовка массива для vis.js (PHP для JavaScript)

я получил до сих пор:

  • Чтение данных из Neo4j и storem их в массив 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
$newArray = array(); 

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

$js = json_encode($newArray) 
+0

Предполагая, что $ arrData - это массив php, который вы предоставили. –

+0

Удивительный, большое спасибо. Это очень помогло. Предполагая, что вы означали FOREACH-Loop? Приветствия, счастливый Балаэль – Balael