按修改日期排序该数组?
我有一个 php 文件,它在我的用户目录中创建一个包含所有内容的数组,然后该数组被发送回 iPhone。
我的 php 创建的数组按字母顺序排序,我希望它按文件创建日期排序。
这是我的 php 文件的样子
<?php
$username = $_GET['username'];
$path = "$username/default/";
$files = glob("{$path}/{*.jpg,*.jpeg,*.png}", GLOB_BRACE);
// output to json
echo json_encode($files);
?>
我该怎么做?
谢谢 :)
I have a php file that is creating a array of everything in my users directory, the array is then being sent back to a iPhone.
The array that my php is creating is ordering them alphabetically, i want it to sort by the date the file was created..
Here is what my php file looks like
<?php
$username = $_GET['username'];
$path = "$username/default/";
$files = glob("{$path}/{*.jpg,*.jpeg,*.png}", GLOB_BRACE);
// output to json
echo json_encode($files);
?>
How would i do this?
Thanks :)
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(2)
将
usort()
与调用 < 的回调一起使用code>filemtime()...这未经测试,但我相信它会让您走上正确的路径...
这应该对它们进行排序。如果您希望它们最新的在前,请在回调
return
三元运算中将<
更改为>
。Using
usort()
with a callback which callsfilemtime()
...This is untested, but I believe it will set you on the correct path...
This should sort them oldest-first. If you want them newest-first, change
<
to>
in the callbackreturn
ternary operation.正如 Michael Berkowski 提到的,使用
usort()
是一种可行的方法,但如果这是一次性排序(即您只需在代码中以这种方式对数组进行一次排序),您可以使用匿名函数:虽然不是必需的,但它确实节省了函数调用。
如果您需要多次以这种方式对文件进行排序,最好创建一个单独的命名函数。
As Michael Berkowski mentioned, using
usort()
is the way to go, but if this is a one-off sorting (i.e. you only need to sort an array this way once in your code), you can use an anonymous function:While not necessary, it does save a function call.
If you need to sort files this way more than once, creating a separate named function is preferable.