PHP 搜索数组和 return 仅满足条件的第一个值

PHP search array and return only first value that meets criteria

我有一个标记为 YYYY-MM-DD.jpg 的文件目录。

使用 PHP,我正在尝试搜索这些文件的数组并打印今天之前的最新日期的文件名(不带 jpg)。

例如:今天是2015-04-14

文件:

我要return“2015-04-11”。

这几天我一直在努力,试图将多个帖子中的内容拼凑起来。所以,我经历了很多迭代。但这里有一个:

$scan = scandir($comic_path,1); //go through directory DESC
$last_comic = substr($scan[0],0,10); //substr scan to get just the date

function LastComic(){
    foreach ($scan as $acomic) {
  if ($acomic < $last_comic) {
    echo $acomic . "\n";
  }
  $last_comic = $acomic;
}}
LastComic($last_comic);

在此先感谢您的帮助。

嗯,你的代码很好:

$today = date("Y-m-d");
$last_comic = substr($scan[0],0,10);
foreach ($scan as $acomic) {
    $only_date = substr($acomic,0,10);
    if ($only_date < $today) {
        $last_comic = $acomic;
        break;
    }
}

这就是您要实现的目标吗?

这很干净:

$scan = scandir($comic_path,1); //go through directory DESC
$last_comic = date('Y-m-d');  // today's date
foreach ($scan as $acomic) {
  if (substr($acomic,0,10) < $last_comic) {
    $last_comic = substr($acomic,0,-4);
    echo "$last_comic\n";
    break;
  }
}