2016-04-14 22 views
-1

私は1つのhelp.Iが必要な配列の値を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

[OK]をキーなしでこれを表示するにはどうすればいいですか? – subhra

答えて

4

変更この行:これに

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

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

それはキーなしで有効なJSONを作成します。

結果は次のようになります。あなたは基本的に今のアレイ$arrをコピーしているので、

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

をあなたも、さらにあなたのコードを減らすことができます

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); 
関連する問題