如何从数组中按时间对图像顺序进行分组

时间:2016-02-05 06:23:38

标签: php file time grouping

我有一些带文件名和时间的照片。我想找到一小时拍摄的照片。例如,我的照片是从10.00,10.15,10.59拍摄的。所以当我搜索。我希望这些照片列在10.00以下。

我认为这与in_arrayarray_search有关。但我仍然不知道如何。

这是我的数组: $ pixArr []

Array
(
    [0] => Array
        (
            [file] => IMG_7519.JPG
            [time] => 13:02
        )

    [1] => Array
        (
            [file] => IMG_7518.JPG
            [time] => 13:01
        )

    [2] => Array
        (
            [file] => IMG_7517.JPG
            [time] => 13:00
        )

    [3] => Array
        (
            [file] => IMG_7516.JPG
            [time] => 11:39
        )

    [4] => Array
        (
            [file] => IMG_7515.JPG
            [time] => 11:39
        )

    [5] => Array
        (
            [file] => IMG_7514.JPG
            [time] => 11:38
        )

    [6] => Array
        (
            [file] => IMG_7513.JPG
            [time] => 11:29
        )

    [7] => Array
        (
            [file] => IMG_7512.JPG
            [time] => 11:26
        )

    [8] => Array
        (
            [file] => IMG_7511.JPG
            [time] => 11:26
        )

)

我希望它会出现这样的事情:

<a href="listPhoto.php?time=10-00">10:00</a>

listPhoto.php

<?
//now how to list files by hour???
?>

2 个答案:

答案 0 :(得分:0)

您可以使用array_filter作为@u_mulder建议:

x,y = 0

请参阅演示:https://eval.in/513466

答案 1 :(得分:0)

你可以使用assort这个函数对一个数组进行排序,使得数组索引保持与它们相关的数组元素的相关性。

我一直在尝试这个问题。

$arr = [
[
    "file" => "IMG_7519.JPG",
    "time" => "13:02"
],

[
    "file" => "IMG_7519.JPG",
    "time" => "12:02"
],
[
    "file" => "IMG_7519.JPG",
    "time" => "15:02"
]
];

asort($arr); //sorting array
echo "<pre>".print_r($arr)."</pre>";

这就是结果。

Array ( [1] => Array ( [file] => IMG_7519.JPG [time] => 12:02 ) [0] => Array ( [file] => IMG_7519.JPG [time] => 13:02 ) [2] => Array ( [file] => IMG_7519.JPG [time] => 15:02 ) )