2016-04-14 47 views
-1

我需要一個幫助。我有一種格式的數組值,但我需要使用PHP將其更改爲另一種格式。我在下面解釋我的代碼。如何使用PHP製作正確的數組格式

$sql=mysqli_query($connect,"select * from db_restaurant_basic where member_id='".$member_id."'"); 
while($row=mysqli_fetch_array($sql)){ 
    if($row['image'] !=''){ 
     $mul_image=$row['multiple_image']; 
     if($mul_image !=''){ 
      $arr=explode(',', $mul_image); 
      for($i=0;$i<count($arr);$i++){ 
       $data[]=array("image".$i=>$arr[$i]); 
      } 
     } 
    } 
} 
$result=array("data"=>$data,"imagepath"=>$imagepath); 
echo json_encode($result,JSON_UNESCAPED_SLASHES); 

上面的代碼給出了下面的輸出。

{"data":[{"image0":"87az6yooi0ms4i_de021b24.jpg"},{"image1":"d0ub9h8if4dkj4i_a6d6c48a.jpg"},{"image2":"3j9tx0m9xj0dx6r_1080970_1405444569670737_1257617107_n.jpg"}],"imagepath":"http://localhost/spesh/upload/"} 

但我需要刪除所有的key和預期的產出如下。

{"data":[{"87az6yooi0ms4i_de021b24.jpg"},{"d0ub9h8if4dkj4i_a6d6c48a.jpg"},{"3j9tx0m9xj0dx6r_1080970_1405444569670737_1257617107_n.jpg"}],"imagepath":"http://oditek.in/spesh/upload/"} 

請幫我這麼做。

+2

您的預期輸出是無效的JSON。 –

+0

使用'foreach'循環並將結果推送到數組中? –

+0

好吧,我如何顯示這個沒有關鍵。? – subhra

回答

4

改變這一行:

$data[]=array("image".$i=>$arr[$i]); 

要這樣:

$data[]=$arr[$i]; 

它將創建有效的JSON沒有密鑰。

結果將是這樣的:

{"data":["87az6yooi0ms4i_de021b24.jpg","d0ub9h8if4dkj4i_a6d6c48a.jpg",... 

您甚至還可以進一步降低你的代碼,因爲你基本上覆制陣列$arr現在:

while($row=mysqli_fetch_array($sql)){ 
    if($row['image'] !=''){ 
     $mul_image=$row['multiple_image']; 
     if($mul_image !=''){ 
      $data=explode(',', $mul_image); 
     } 
    } 
} 

這將產生相同的結果。

2

只是不要將新陣列推送到數據數組 - 只有值。

$sql=mysqli_query($connect,"select * from db_restaurant_basic where member_id='".$member_id."'"); 
while($row=mysqli_fetch_array($sql)){ 
    if($row['image'] !=''){ 
     $mul_image=$row['multiple_image']; 
     if($mul_image !=''){ 
      $arr=explode(',', $mul_image); 
      for($i=0;$i<count($arr);$i++){ 
       $data[] = $arr[$i]; // only value is pushed into data array 
      } 
     } 
    } 
} 
$result=array("data"=>$data,"imagepath"=>$imagepath); 
echo json_encode($result,JSON_UNESCAPED_SLASHES); 
相關問題