我需要一个帮助。我有一些一种格式的数组值,但我需要使用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/"}
请帮我做这个。
更改此行:
$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);
}
}
}
这将产生相同的结果。
只是不要向数据数组推送新数组——只推送值。
$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);