需要用值n排序第二个嵌套数组第三个用php; '开始时间'。关键在于思考也许是最重要的。发布@week @day @class的嵌套数组以及一个usort调用和函数我一直在尝试变体。按照值排序第二个嵌套数组在第三个使用php
Array
(
[Sunday] => Array
(
[0] => Array
(
[Class Name] => Fun Class
[Instructor] => Fun Teacher
[Class Type] => Yoga Stretches
[Start Time] => 1899-12-30T17:00:00
[End Time] => 1899-12-30T18:15:00
[Day Name] => Sunday
)
[1] => Array
(
[Class Name] => Another Fun Class
[Instructor] => Same Fun Teacher
[Class Type] => Relaxation
[Start Time] => 1899-12-30T18:30:00
[End Time] => 1899-12-30T19:45:00
[Day Name] => Sunday
)
[2] => Array
(
[Class Name] => Hot Yoga without Cold
[Instructor] => Dave the Flexible
[Class Type] => Hot Hot Yoga
[Start Time] => 1899-12-30T09:00:00
[End Time] => 1899-12-30T10:30:00
[Day Name] => Sunday
)
)
[Monday] => Array
(
[0] => Array
(
[Class Name] => Mellow Chill Hang
[Instructor] => Guru Awesome
[Class Type] => Yoga Namaste
[Start Time] => 1899-12-30T12:00:00
[End Time] => 1899-12-30T13:00:00
[Day Name] => Monday
)
)
)
是否尝试(上变化):
foreach ($week_schedule as $day)//$week_schedule = the outer array
{
for($j=count($week_schedule);$j>=0;$j--)
usort($day,'sortTimes');
}
function sortTimes($a, $b) {
return strtotime($a["Start Time"]) - strtotime($b["Start Time"]);
}
是否使用具有提取值的单个的foreach($天=> $类)尝试。 我敢打赌,这不会最终需要太多的代码。
谢谢@我可以有Cheezburger。当然有用。在我的服务器上(php 5.5.3)在日期时间('开始时间')字段中使用'T'。 usort函数如何知道三个数组中的哪一个(@week,@day,@classes)查找'Start Time'?它是否会进一步深入地搜索嵌套数组,直到找到与“开始时间”匹配的内容为止 – MikeiLL
我还喜欢清楚说明usort正在做什么。说出数组中是否有四个元素;它是否将第一个元素与其他元素进行比较,如果测试结果为真,则将其减少数字键?那会自动增加以前在阵列中那个位置的密钥吗? – MikeiLL
@MikeiLL我已经添加了对上述答案的解释,希望它能清除一些疑问。 –