我是php新手。我想将两个数组数据合并到一个表中。我的第一个数组如下:
http://i.imgur.com/XmVaUPH.png
我的第二个数组如下:
http://i.imgur.com/jSOdlMD.png
我的输出将是:
姓名日期开始时间结束时间
Billal 1-14-15 11:29 AM 8:30 Pm
Emrul 1-14-15 2:21 PM 8:34 PM利蒙1-14-15 11:26 AM
Mamun 1-14-15 11:47 AM 8:32 pm
Masum 1-14-15 12:12 PM 8:33 pm
Shahed 1-14-15 11:30 Am
Emrul 1-15-15 11:29 AM 8:30 Pm利蒙1-15-15 11:47 AM 8:32 pm
Masum 1-15-15 12:12 PM 8:33 pm
这里的开始时间是上午10点到下午2点,休息时间是结束时间。当开始/结束时间两个数据发现快速数据将被计算
答案 0 :(得分:3)
这里看起来你需要的是组合你给出的两个数组,并根据所花费的时间对结果进行排序。
以下是一些解决问题的最佳做法。
如果您需要计算日期/时间,请不要使用字符串,请使用时间戳,因为它只是一个可以轻松操作的大数字(在您的情况下,您只需要减去开始日期/时间)从结束日期/时间获得所花费的总时间)使用简单的数学。
如果将数据存储在SQL数据库中,则不要检索它们并计算PHP所用的时间,而是在检索数据之前使用SQL计算持续时间。它将大大减少应用程序开销。您还可以使用SQL排序对结果集进行排序。
请不要在以后附上xdebug输出的屏幕截图,而是粘贴到编辑器上。
答案 1 :(得分:2)
$array1a = array_chunk($array1, 3);
$array2a = array_chunk($array2, 3);
$table =array();
foreach($array1a as $v1){
$tmp = array(
'name'=>$v1[0],
'date' => $v1[1],
'time1' => $v1[2]
);
foreach($array2a as $v2){
if($v2[1] == $v1[1] && $v2[0] == $v1[0]){
$tmp['time2']=$v2[2];
}
}
$table[] = $tmp;
}
希望有所帮助
答案 2 :(得分:0)
array_merge()是合并两个数组的有用函数。这是一个简单的例子。
{{1}}