如何在php中用数组打印方括号内的方括号
我在回显我的数组,但它给出了不需要的输出,我需要我的输出具有括号,其中包含数组方括号内的数据。 请帮我修一下 所需输出:{error:false,用户:[{id:1,name:Maurice Obraenne,mobile:0785984505,sudentid:Muberangango Joseph}]} 我得到的不希望得到的输出如下,没有方括号,也没有记录的标识名:{错误:false,用户:[1,Maurice Obraenne,0785984505,Muberango Joseph]} 我的代码:如何在php中用数组打印方括号内的方括号,php,arrays,Php,Arrays,我在回显我的数组,但它给出了不需要的输出,我需要我的输出具有括号,其中包含数组方括号内的数据。 请帮我修一下 所需输出:{error:false,用户:[{id:1,name:Maurice Obraenne,mobile:0785984505,sudentid:Muberangango Joseph}]} 我得到的不希望得到的输出如下,没有方括号,也没有记录的标识名:{错误:false,用户:[1,Maurice Obraenne,0785984505,Muberango Joseph]} 我
$stmt->bind_param("i", $mobile);
if ($stmt->execute()) {
$result = $stmt->get_result();
$usersArr = array();
while ($user = $result->fetch_assoc()){
$usersArr[] = $user['id'];
$usersArr[] = $user['name'];
$usersArr[] = $user['mobile'];
$usersArr[] = $user['sutdentId'];
$usersArr[] = $user['user_id'];
$usersArr[] = $user['full_name'];
$usersArr[] = $user['school'];
$usersArr[] = $user['level'];
$usersArr[] = $user['year'];
$usersArr[] = base64_encode($user['photo']);
$usersArr[] = $user['busId'];
$usersArr[] = $user['plate_no'];
$usersArr[] = $user['DriverId'];
$usersArr[] = $user['driverphone_number'];
$usersArr[] = $user['driver_fullname'];
}
$stmt->close();
// echo json_encode($usersArr);
return $usersArr;
} else {
return NULL;
}
您可以这样做:
while ($user = $result->fetch_assoc()){
$usersArr['id'] = $user['id'];
$usersArr['name'] = $user['name'];
$usersArr['mobile'] = $user['mobile'];
$usersArr['studentId'] = $user['sutdentId'];
$usersArr['user_id'] = $user['user_id'];
$usersArr['full_name'] = $user['full_name'];
$usersArr['school'] = $user['school'];
$usersArr['level'] = $user['level'];
$usersArr['year'] = $user['year'];
$usersArr['photo'] = base64_encode($user['photo']);
$usersArr['busId'] = $user['busId'];
$usersArr['plate_no'] = $user['plate_no'];
$usersArr['DriverId'] = $user['DriverId'];
$usersArr['driverphone_number'] = $user['driverphone_number'];
$usersArr['driver_fullname'] = $user['driver_fullname'];
}
return json_encode($usersArr);
$final['error'] = '';
$final['user'] = $usersArr;
你只是让你的生活更艰难:
$stmt->bind_param("i", $mobile);
if ($stmt->execute()) {
$result = $stmt->get_result();
$usersArr = $result->fetch_all(MYSQLI_ASSOC);
$stmt->close();
$result->free(); //Because why not?
return array_map(function ($user) {
$user['photo'] = base64_encode($user['photo']);
return $user;
}, $usersArr;);
} else {
return NULL;
}
所需的输出显示每个用户都将在一个数组中,因此必须将每个用户存储在一个数组中 使用此代码:
while ($user = $result->fetch_assoc()){
$temp = array();
$temp = $user;
$temp['photo'] = base64_encode($user['photo']);
$usersArr[] = $temp;
}
然后,您可以使用此数组将用户数据存储在数组的用户密钥处
像这样:
while ($user = $result->fetch_assoc()){
$usersArr['id'] = $user['id'];
$usersArr['name'] = $user['name'];
$usersArr['mobile'] = $user['mobile'];
$usersArr['studentId'] = $user['sutdentId'];
$usersArr['user_id'] = $user['user_id'];
$usersArr['full_name'] = $user['full_name'];
$usersArr['school'] = $user['school'];
$usersArr['level'] = $user['level'];
$usersArr['year'] = $user['year'];
$usersArr['photo'] = base64_encode($user['photo']);
$usersArr['busId'] = $user['busId'];
$usersArr['plate_no'] = $user['plate_no'];
$usersArr['DriverId'] = $user['DriverId'];
$usersArr['driverphone_number'] = $user['driverphone_number'];
$usersArr['driver_fullname'] = $user['driver_fullname'];
}
return json_encode($usersArr);
$final['error'] = '';
$final['user'] = $usersArr;
删除while循环中的所有代码,并仅使用$usersArr[]=$user;我想指出,这段代码中没有设置错误或进行任何json编码的部分。您要求我们根据一个不完整的示例推断您正在做什么。您的代码给出的结果不包含方括号,如下所示:{id:1,姓名:Maurice Obraenne,手机:0785984505,学生id:2,用户id:1,全名:Marie Ange Karamuzi,学校:Gs.st Joseph de Gitarama,级别:Sinior 6,年份:20,照片:…也不难,因为查询包含从mysql获取的图像,如果我使用你的这种方法,我在屏幕上什么都看不到好主意,但我现在有一个错误:注意:未定义的va变量:userarr这是一个输入错误。它应该是$usersArrno更改我得到的和我之前得到的一样:{错误:false,用户:[1,Maurice Obraenne,0785984505,Muberango Joseph]}你能试试这个吗:$final['user'][=$usersArr;,下一次编辑:在squire括号内有很多括号,我一行只需要一个括号来包装数据