PHP:数组帮助

时间:2010-12-15 15:49:25

标签: php arrays

我有一个图像名称数组,一个要从图像名称数组中删除的数组值数组,以及一个日期数组。

$images = scandir($dir);
$filestomove = array('home-accessories----candles.jpg');
$displayDates = array('25/12/2010', '26/12/2010');

基本上我想循环显示日期数组,如果数组中没有值=今天的日期,那么我想在$ images和$ filetomove上做一个array_diff。

这是我遇到麻烦的循环。

这是我的代码:

$images = scandir($dir);
$images2 = array();
//array of filenames to move from images array
$filestomove = array('home-accessories----candles.jpg');

//creates date in the format of 15/12/2010
$format = 'd/m/Y';
// date of current day
$today = date($format);
//date display the ad
$displayDates = array('25/12/2010', '26/12/2010');

foreach ($displayDates as $key => $value){
    if($today != $value){
        //remove the filenames from the array and create new array
        $images2 = array_diff($images, $filestomove);
        //overwrite the old array with the new one
        $images = $images2;
        break;
    }
}

这里的问题是,如果第一个值不是今天的日期,它将删除数组项,然后打破循环,即使第二个数组项可能是今天的日期。

我需要帮助做这个循环。我不确定如何通过$ displayDates数组进行检查,如果今天的日期不在数组中,则只删除数组项。

非常感谢任何帮助!

此致

比利

1 个答案:

答案 0 :(得分:3)

因为你的病情是

  

如果数组中没有值== todays

您应该查看http://php.net/manual/en/function.in-array.php

if(!in_array($today, $displayDates) {
    // do work
}