我有一个图像名称数组,一个要从图像名称数组中删除的数组值数组,以及一个日期数组。
$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数组进行检查,如果今天的日期不在数组中,则只删除数组项。
非常感谢任何帮助!
此致
比利
答案 0 :(得分:3)
因为你的病情是
如果数组中没有值== todays
您应该查看http://php.net/manual/en/function.in-array.php
if(!in_array($today, $displayDates) {
// do work
}