2014-03-12 80 views
1

我有一个这样的数组,转换一个PHP数组到JSON格式

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编码格式的

+0

让我们看看。 –

+0

我将在哪里阅读csv文件。我有一个upload.php那里我写的HTML格式和行动到一个超薄功能。在那个函数里面我会添加读csv和mongo db的惰性函数? – Naveenbos

回答

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>"; 

了输出就像你如何使用`json_encode`下面

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

你需要把所有到一个数组,然后JSON编码它:

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

请将相反的'json_decode'这个单词扩展为“我该如何在PHP中编写此查询”的通常答案。 –

+0

嗨约翰孔德谢谢你的回复我越来越喜欢这[[“1”,“naveen”]] [[“1”,“naveen”],[“2”,“bos”]]是否有可能使数组{“1”:“naveen”},{“2”:“bos”}这样? – Naveenbos

+0

尝试将数组转换为对象:'$ array [] =(object)$ data;' –