donglanche9257 2015-12-23 01:50
浏览 78

如何在数组php中移动元素

I´m doing timetable for school. I already have selected data from DB, but all data are represented at the beginning-at 7,10am(pict 1). But some lesson starts at 7,10, others starts at 8am. I have no idea how these data shift if the lessons starts f.e at 8am. I found php function array_unshift, but actually do I need add some elements on the beginning? I need to shift the data if the start_time of the lessons is not equal to start_time(top row on the picture) pict 1

I did it with foreach loop and the array which represent timetable is: $timetable[$day]['lessons'][$z]['dividedlessons'][$q]['start_time']

$z is index for individual lesson - on the pic 0,1,2,3,4; divided lessons mean when students have 2 different lesson in one lesson hour; and $q is index for divided lesson; listofhours is 07:10, 08:00, 08:50,etc.

    Array ( [start_time] => 0000-00-00 08:00:00 [end_time] => 0000-00-00 08:45:00 [group] => [name] => BIO [room] => CP [lector] => Reh ) 
Array ( [start_time] => 0000-00-00 08:50:00 [end_time] => 0000-00-00 09:35:00 [group] => [name] => MAT [room] => CP [lector] => Ĺ af ) 
Array ( [start_time] => 0000-00-00 09:55:00 [end_time] => 0000-00-00 10:40:00 [group] => [name] => SLJ [room] => CP [lector] => Bal ) 
Array ( [start_time] => 0000-00-00 10:45:00 [end_time] => 0000-00-00 11:30:00 [group] => [name] => ANJ [room] => CP [lector] => Šán  
Array ( [start_time] => 0000-00-00 11:40:00 [end_time] => 0000-00-00 12:25:00 [group] => [name] => FYZ [room] => BF [lector] => Kis ) 
Array ( [start_time] => 0000-00-00 12:35:00 [end_time] => 0000-00-00 13:20:00 [group] => 1.sk [name] => INF [room] => AI [lector] => 
Haj )
Array ( [start_time] => 0000-00-00 12:35:00 [end_time] => 0000-00-00 13:20:00 [group] => ETV [name] => ETV [room] => CP [lector] => Cse ) 
Array ( [start_time] => 0000-00-00 13:30:00 [end_time] => 0000-00-00 14:15:00 [group] => 2.sk. [name] => INF [room] => AI [lector] => Haj ) 

Array ( [start_time] => 0000-00-00 08:00:00 [end_time] => 0000-00-00 08:45:00 [group] => [name] => ANJ [room] => CP [lector] => Šán ) 
Array ( [start_time] => 0000-00-00 08:50:00 [end_time] => 0000-00-00 09:35:00 [group] => [name] => MAT [room] => CP [lector] => Ĺ af ) 
Array ( [start_time] => 0000-00-00 09:55:00 [end_time] => 0000-00-00 10:40:00 [group] => [name] => DEJ [room] => CP [lector] => Str ) 
Array ( [start_time] => 0000-00-00 10:45:00 [end_time] => 0000-00-00 11:30:00 [group] => [name] => GEO [room] => CP [lector] => StK ) 
Array ( [start_time] => 0000-00-00 11:40:00 [end_time] => 0000-00-00 12:25:00 [group] => [name] => TSV [room] => T1 [lector] => Cse ) 
Array ( [start_time] => 0000-00-00 12:35:00 [end_time] => 0000-00-00 13:20:00 [group] => [name] => SLJ [room] => CP [lector] => Bal ) 

Array ( [start_time] => 0000-00-00 08:00:00 [end_time] => 0000-00-00 08:45:00 [group] => [name] => SLJ [room] => CP [lector] => Bal ) 
Array ( [start_time] => 0000-00-00 08:50:00 [end_time] => 0000-00-00 09:35:00 [group] => [name] => MAT [room] => CP [lector] => Ĺ af ) 
Array ( [start_time] => 0000-00-00 09:55:00 [end_time] => 0000-00-00 10:40:00 [group] => [name] => ANJ [room] => CP [lector] => Šán ) 
Array ( [start_time] => 0000-00-00 10:45:00 [end_time] => 0000-00-00 11:30:00 [group] => [name] => OBN [room] => CP [lector] => Kis )
Array ( [start_time] => 0000-00-00 11:40:00 [end_time] => 0000-00-00 12:25:00 [group] => [name] => VYV [room] => CP [lector] => Reh ) 
Array ( [start_time] => 0000-00-00 12:35:00 [end_time] => 0000-00-00 13:20:00 [group] => [name] => NEJ [room] => CP [lector] => Til ) 

Array ( [start_time] => 0000-00-00 08:00:00 [end_time] => 0000-00-00 08:45:00 [group] => [name] => ANJ [room] => CP [lector] => Šán ) 
Array ( [start_time] => 0000-00-00 08:50:00 [end_time] => 0000-00-00 09:35:00 [group] => [name] => TSV [room] => T1 [lector] => Cse ) 
Array ( [start_time] => 0000-00-00 09:55:00 [end_time] => 0000-00-00 10:40:00 [group] => [name] => MAT [room] => CP [lector] => Ĺ af )
Array ( [start_time] => 0000-00-00 10:45:00 [end_time] => 0000-00-00 11:30:00 [group] => [name] => SLJ [room] => CP [lector] => Bal ) 
Array ( [start_time] => 0000-00-00 11:40:00 [end_time] => 0000-00-00 12:25:00 [group] => [name] => CHE [room] => CP [lector] => Ĺ af ) 
Array ( [start_time] => 0000-00-00 12:35:00 [end_time] => 0000-00-00 13:20:00 [group] => NAV [name] => NAV [room] => [lector] => Kub ) 

Array ( [start_time] => 0000-00-00 08:00:00 [end_time] => 0000-00-00 08:45:00 [group] => [name] => MAT [room] => CP [lector] => Ĺ af ) 
Array ( [start_time] => 0000-00-00 08:50:00 [end_time] => 0000-00-00 09:35:00 [group] => [name] => SLJ [room] => CP [lector] => Bal ) 
Array ( [start_time] => 0000-00-00 09:55:00 [end_time] => 0000-00-00 10:40:00 [group] => [name] => TSV [room] => T1 [lector] => Cse ) 
Array ( [start_time] => 0000-00-00 10:45:00 [end_time] => 0000-00-00 11:30:00 [group] => [name] => BIO [room] => CP [lector] => Reh ) 
Array ( [start_time] => 0000-00-00 11:40:00 [end_time] => 0000-00-00 12:25:00 [group] => [name] => CHE [room] => CP [lector] => Til ) 
Array ( [start_time] => 0000-00-00 12:35:00 [end_time] => 0000-00-00 13:20:00 [group] => [name] => HUV [room] => CP [lector] => Bal ) 

'skratka' is abbrevation for days; 'hodiny' is lessons and 'delenehodiny' is dividedlesson..

DB

I tried explain it clearly I hope you will understand :) Thank you!

  • 写回答

0条回答 默认 最新

    报告相同问题?

    悬赏问题

    • ¥20 测距传感器数据手册i2c
    • ¥15 RPA正常跑,cmd输入cookies跑不出来
    • ¥15 求帮我调试一下freefem代码
    • ¥15 matlab代码解决,怎么运行
    • ¥15 R语言Rstudio突然无法启动
    • ¥15 关于#matlab#的问题:提取2个图像的变量作为另外一个图像像元的移动量,计算新的位置创建新的图像并提取第二个图像的变量到新的图像
    • ¥15 改算法,照着压缩包里边,参考其他代码封装的格式 写到main函数里
    • ¥15 用windows做服务的同志有吗
    • ¥60 求一个简单的网页(标签-安全|关键词-上传)
    • ¥35 lstm时间序列共享单车预测,loss值优化,参数优化算法