所以这很奇怪。我有两个数组,一个数组是一个事件列表。如果没有事件,它只有零。另一个数组计算等于0的项目数。基本上我无法弄清楚如何根据第二个数组调整第一个数组。
我想做的是创建一个数组,在第一个空后删除一些空,并重写值以说出不同的东西......有点像这样。我想重写所以它抓取给出一个通用的标题和事件时间,并根据0的第一个点和最后的零值开始。
基本上我必须这样做的原因是我们正在尝试使用客户端api来制定计划。问题是他们使用的api不适合他们想要显示的开放时间段。所以我想要做的就是循环打开它们的小时数,根据事件时间添加事件,然后在事件之间创建空白事件。问题是我在创建空白事件时遇到问题。
谢谢!我不是最好的php开发人员,我实际上有一个同事帮助我这么远,我只是无法弄清楚如何/用于实现这一目的的功能。
理想阵列
IdealArray
(
[0600] => Array
(
[e_name] => No events
[e_start] => 6000
[e_end] => 1000
)
[1000] => Array
(
[e_name] => Event One
[e_start] => 1000
[e_end] => 1100
)
[1100] => Array
(
[e_name] => No events
[e_start] => 1000
[e_end] => 1630
)
[1630] => Array
(
[e_name] => Event Number 2
[e_start] => 1630
[e_end] => 0930
)
[0930] => Array
(
[e_name] => No events
[e_start] => 0930
[e_end] => 1100
)
)
当前阵列
First Array
(
[0600] => 0
[0630] => 0
[0700] => 0
[0730] => 0
[0800] => 0
[0830] => 0
[0900] => 0
[0930] => 0
[1000] => Array
(
[e_name] => Event One
[e_start] => 1000
[e_end] => 1100
)
[1100] => 0
[1130] => 0
[1200] => 0
[1230] => 0
[1300] => 0
[1330] => 0
[1400] => 0
[1430] => 0
[1500] => 0
[1530] => 0
[1600] => 0
[1630] => Array
(
[e_name] => Event Number 2
[e_start] => 1630
[e_end] => 1930
)
[1930] => 0
[2000] => 0
[2030] => 0
[2100] => 0
[2130] => 0
[2200] => 0
[2230] => 0
)
Second Array
(
[0] => 8
[1] => 11
[2] => 7
)
答案 0 :(得分:1)
给出问题中提供的源数组(下面名为[1, 2, 3, 4, 5]
),并假设它始终按时间顺序排列:
[[1,2], [2,3], [3,4], [4,5]]
如果无法保证订单,则只需从密钥排序开始:reduce