我需要生成一个javascript json字符串。它期望一些数据的格式如
[[4, 34, "Hello"],[5, 23, "World"],[8, 21, "Today"]]
即。不是作为关联数组。
数据来自PHP,我将这3列定义为对象的一部分。但是我不知道如何生成这样的数组(像这样过度简化phpobject到json数据的映射,但是给你一个想法)
$json = array();
foreach($phpObject->getRows as $row)
{
$json[][0] = $row[0];
$json[][1] = $row[1];
}
echo json_encode($json);
为您提供关联的数组。鉴于一些硬编码数据,您只需执行类似
的操作echo json_encode(array(array(4, 34, 'Hello'), array(5, 23, 'World'));
但是我找不到任何方法来制作上述“动态”
编辑:当前的黑客是
<?php $dataset = '['; ?>
<?php foreach ($graph->getRows() as $row) : ?>
<?php $dataset .= '['; ?>
<?php $dataset .= $row[0] . ', '; ?>
<?php $dataset .= $row[1] . ', '; ?>
<?php $dataset .= '"' . $row[2] . '"'; ?>
<?php $dataset .= '],'; ?>
<?php endforeach; ?>
<?php $dataset = rtrim($dataset, ','); ?>
<?php $dataset .= ']'; ?>
var dataset = <?php echo $dataset; ?>;
答案 0 :(得分:3)
将行的值分配给json数组,让PHP设置数字键。
$json = array();
foreach ( $phpObject->getRows as $row ) {
$json[] = array_values($row);
}
echo json_encode($json);