如何在php中用数组打印方括号内的方括号

如何在php中用数组打印方括号内的方括号,php,arrays,Php,Arrays,我在回显我的数组,但它给出了不需要的输出,我需要我的输出具有括号,其中包含数组方括号内的数据。 请帮我修一下 所需输出:{error:false,用户:[{id:1,name:Maurice Obraenne,mobile:0785984505,sudentid:Muberangango Joseph}]} 我得到的不希望得到的输出如下,没有方括号,也没有记录的标识名:{错误:false,用户:[1,Maurice Obraenne,0785984505,Muberango Joseph]} 我

我在回显我的数组,但它给出了不需要的输出,我需要我的输出具有括号,其中包含数组方括号内的数据。 请帮我修一下

所需输出:{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括号内有很多括号,我一行只需要一个括号来包装数据