Php 如何在单个数组中合并数组,而在单个数组中循环?

Php 如何在单个数组中合并数组,而在单个数组中循环?,php,arrays,Php,Arrays,我有以下代码 $w = array(); while ($rowData = mysql_fetch_assoc($resultData)) { $w[] = $rowData ; } print_r($w) ; $w给我以下数组 Array ( [0] => Array (

我有以下代码

$w = array();
while ($rowData = mysql_fetch_assoc($resultData)) {  
                                                $w[] = $rowData ;
                                            } 
print_r($w) ;
$w给我以下数组

Array
(
    [0] => Array
        (
            [fname] => Sumit Manager
            [role_id] => 2
            [punch_in] => 2015-11-06 06:27:29
            [id] => 1042
            [punch_out] => 2015-11-06 06:28:38
            [working_hours] => 00:01:09
            [hourlyrate] => 20.0000
            [payable] => 0.38333332
            [time_status] => out_time
            [user_id] => 77
        )

    [1] => Array
        (
            [fname] => Sumit Manager
            [role_id] => 2
            [punch_in] => 2015-11-06 06:28:38
            [id] => 1044
            [punch_out] => 2015-11-06 06:29:15
            [working_hours] => 00:00:37
            [hourlyrate] => 20.0000
            [payable] => 0.20555554
            [time_status] => out_break
            [user_id] => 77
        )

)
Array
(
    [0] => Array
        (
            [fname] => John Server
            [role_id] => 3
            [punch_in] => 2015-11-06 06:28:17
            [id] => 1043
            [punch_out] => 2015-11-06 06:29:56
            [working_hours] => 00:01:39
            [hourlyrate] => 12.0000
            [payable] => 0.33000000
            [time_status] => out_time
            [user_id] => 78
        )

) 
我想要的是将循环中的上述数组合并到具有如下索引的单个数组中

Array
    (
        [0] => Array (array1 from loop),
        [1] => Array (array2 from loop)
    )

array\u merge
在这里很有用

$w = array();
while ($rowData = mysql_fetch_assoc($resultData)) {  
    $w = array_merge($w, $rowData) ;
} 

print_r($w) ;
$w=array()
应该位于
循环的
之外。

尝试以下操作:

$x = [];
for(){ // Your for loop here
    $w = array();
    while ($rowData = mysql_fetch_assoc($resultData)) {  
        $w[] = $rowData; // create a array for current Id rows
    } 
    $x = arrray_merge($x, $w); // Merge the array generated to the for lopping array.
}
print_r($x);
这里,当for循环启动时,它将触发while循环,该循环将while循环生成的所有行存储在
$w
数组中。之后,它将被推送到外部循环数组
$x

解决方案2


您只需使用
$x[]=$w而不是
$x=arrray\u merge($x,$w)

我不确定我是否理解您的问题,数组是否按您的要求准备好了?
$w
提供两个数组作为输出?怎样什么是Sumit Manager
以及什么是John Server
?使用打印时会发生什么情况($w);退出?请给出
$w
产生的确切结果。while循环本身已经在循环中了吗?是的,while循环外部有一个for循环,我从中传递用户id,while循环为这些用户提供数据。请提供for循环中while循环的完整代码。您也可以提供同样的演示。为了更好地理解和回答您的问题,这不是一个预期的解决方案,因为它将在单个数组中提供一个包含所有while和for循环行的单个数组。需求是合并到单个数组中。在OP确认之前,请不要否决投票。