非关联嵌套2级数组PHP

时间:2015-02-13 14:22:41

标签: php json

我需要生成一个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; ?>;

1 个答案:

答案 0 :(得分:3)

将行的值分配给json数组,让PHP设置数字键。

$json = array();
foreach ( $phpObject->getRows as $row ) {
    $json[] = array_values($row);
}
echo json_encode($json);