如何在foreach循环php中为空白数组赋值

如何在foreach循环php中为空白数组赋值,php,arrays,Php,Arrays,我在foreach循环中使用query(根据用户类型),在foreach循环中使用query之后,我得到 以下结果 Array ( [0] => Array ( [bookingId] => 1 [userId] => 102 [status] => paid } [0] => Array ( [bookin

我在foreach循环中使用query(根据用户类型),在foreach循环中使用query之后,我得到 以下结果

Array
(
    [0] => Array
        (
            [bookingId] => 1
            [userId] => 102
            [status] => paid
        }
    [0] => Array
        (
            [bookingId] => 3
            [userId] => 102
            [status] => paid
        }       
    [0] => Array
        (
            [bookingId] => 5
            [userId] => 102
            [status] => paid
        }
...     
        
}           
现在,我希望所有结果都在foreach循环之外,所以我尝试了以下代码,但不起作用,显示了一条记录istead和多条记录istead

我尝试了以下代码,但没有为我工作

$record=array();
    foreach ($result as $key => $row)
    {
            $query= // mysql query
            $rows = $query->result_array();
            $record['bookingId']=$rows['0']['bookingId'];
            $record['userId']=$rows['0']['userId'];
            $record['status']=$rows['0']['status'];
    }
echo "<pre>";print_R($record);
$record=array();
foreach($key=>$row的结果)
{
$query=//mysql查询
$rows=$query->result_array();
$record['bookingId']=$rows['0']['bookingId'];
$record['userId']=$rows['0']['userId'];
$record['status']=$rows['0']['status'];
}
回声“;打印(记录);

您需要像这样使用它

$record = array();
foreach ($result as $key => $row) {
    $query = // mysql query
    $rows = $query->result_array();
    $record[] = [
        'bookingId' => $rows['0']['bookingId'],
        'userId' => $rows['0']['userId'],
        'status' => $rows['0']['status'],
    ];
}
echo "<pre>";
print_R($record);
$record=array();
foreach($key=>$row的结果)
{
$query=//mysql查询
$rows=$query->result_array();
$record[]['bookingId']=$rows['0']['bookingId'];
$record[]['userId']=$rows['0']['userId'];
$record[]['status']=$rows['0']['status'];
}
回声“;打印(记录);

基本上,您没有更新数组的索引。

您不是每次都重写数组中的值吗

$record=array();
foreach($key=>$row的结果){
$query=//mysql查询
$rows=$query->result_array();
$record[]=[
'bookingId'=>$rows['0']['bookingId'],
'userId'=>$rows['0']['userId'],
'status'=>$rows['0']['status'],
];
}
回声“;
打印(记录);

一个建议是,您应该尝试减少SQL查询,这样就不会在循环中执行查询。如果您只是说不工作,我们就无法理解太多。你的方法有错误吗?如果是这样,请发布该错误。否则,请提及预期输出以及您通过方法获得的输出。
$record = array();
foreach ($result as $key => $row) {
    $query = // mysql query
    $rows = $query->result_array();
    $record[] = [
        'bookingId' => $rows['0']['bookingId'],
        'userId' => $rows['0']['userId'],
        'status' => $rows['0']['status'],
    ];
}
echo "<pre>";
print_R($record);