我需要一个帮助。我在一种格式中有一些数组值,但我需要使用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/"}
请帮我这样做。
答案 0 :(得分:3)
更改此行:
$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);
}
}
}
这将产生相同的结果。
答案 1 :(得分:1)
不要将新数组推送到数据数组 - 只有值。
$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);