将Php数组转换为json格式

时间:2014-03-12 12:45:51

标签: php arrays json mongodb

我有一个像这样的数组,

Array
    (
        [0] => 1
        [1] => naveen
    )

    Array
    (
        [0] => 2
        [1] => bos
    )

我正在使用csv上传将数据插入mongodb

while (($data = fgetcsv($handle, 1000, ",")) !== FALSE) {           
        echo "<pre>";
        print_r($data);         
        echo "</pre>";
}

我想将数组转换为json格式,我已经尝试了json_encode($data);但它就是这样的

["1","naveen"]

["2","bos"]

我想做什么使这个数组成为json编码格式

2 个答案:

答案 0 :(得分:4)

您需要将其全部放入一个数组中,然后对其进行json编码:

$array = array();
while (($data = fgetcsv($handle, 1000, ",")) !== FALSE) {           
    $array[] = $data;
}
$json = json_encode($array);

答案 1 :(得分:0)

是的,最后让它发挥作用。

        $keys="";
        $result=array();
        while (($data = fgetcsv($handle, 1000, ",")) !== FALSE) {
            if($keys==""){
                $keys = $data;
            }else{
                $output = array();          
                for ($i=0; $i <count($keys) ; $i++) { 
                    $output[$keys[$i]]=$data[$i];

                }
                array_push($result, $output);
            }

        }
        echo "<pre>";
        print_r(json_encode($result));
        echo "</pre>";

得到如下输出

[{"id":"1","name":"naveen"},{"id":"2","name":"bos"}]