2016-04-14 2 views
-1

Ich brauche eine Hilfe.Ich habe einige Array-Wert in einem Format, aber ich muss es in ein anderes Format mit PHP ändern.Ich erkläre meinen Code unten.Wie man das richtige Array-Format mit PHP macht

$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); 

Der obige Code gibt unten Ausgabe.

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

Aber ich brauche zu entfernen alle key und die erwartete Ausgabe ist unten angegeben.

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

Bitte helfen Sie mir, dies zu tun.

+2

Ihre erwartete Ausgabe ist kein gültiger JSON. –

+0

Verwenden Sie eine "foreach" -Schleife und drücken Sie die Ergebnisse in ein Array? –

+0

Ok, wie kann ich dies ohne Schlüssel anzeigen? – subhra

Antwort

4

Ändern Sie diese Zeile:

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

Um dies:

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

Es wird ohne den Schlüssel gültig JSON erstellen.

Das Ergebnis wird wie folgt aussehen:

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

Sie können sogar Ihren Code weiter reduzieren, da man im Grunde das Array $arr jetzt kopiert werden:

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

Dies wird das gleiche Ergebnis.

2

Drücken Sie einfach kein neues Array auf das Datenfeld - nur der Wert.

$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); 
Verwandte Themen