【发布时间】:2013-05-23 01:06:22
【问题描述】:
我想知道是否有更好的解决方案来循环从中间到结束然后从开始到中间的数组。特别是对于关联数组。
例如,如果有一个带有键的关联数组
$dow = array(Mon => etc, Tue => etc, Wed => etc, Thr => etc .. to .. Sun => etc).
我会从星期四开始搜索数组以查找第二天的特定内容,可能是任何一天但恰好在星期二,我通常从星期四(按索引)迭代到星期日,然后重置并从星期一重新开始到达星期二时结婚并找到目标。
我通过 id 计算索引,当它达到 6 时将 id 重置为 0
$id = 3 // Found day is Thursday id
//Loop function starts here
$id++; // start search from one day above found day
if ($id >= 6){ //when reaching Sunday
$id = 0 // start search from monday
}
// check array here for that specific thing
所以问题是问是否有比这更简单的解决方案,即从周四到周日的索引拆分数组并将其添加到数组的开头,然后执行循环而无需计算索引或者是否存在是不使用计数索引的任何其他解决方案。
【问题讨论】:
-
为什么你需要从星期四开始迭代,特别是(或其他任何一天),而不是从数组的开头开始?
-
它背后没有任何复杂的逻辑,你做的很简单,没有问题。顺便说一句,你必须在
Quotes中写入数组key和value(字符串值) -
你的实现没有问题
-
和 SIT LCU 一样,为什么不迭代整个数组。
-
你的 PHP 版本是多少?