PHP数组过滤掉旧的日期


php array filter out old date

我有以下数组:

$avail = array($this->item->extraFields->RoomONEDateAvailable->value, $this->item->extraFields->RoomTWODateAvailable->value, $this->item->extraFields->RoomTHREEDateAvailable->value, $this->item->extraFields->RoomFOURDateAvailable->value, $this->item->extraFields->RoomFIVEDateAvailable->value, $this->item->extraFields->RoomSIXDateAvailable->value, $this->item->extraFields->RoomSEVENDateAvailable->value, $this->item->extraFields->RoomEIGHTDateAvailable->value, $this->item->extraFields->RoomNINEDateAvailable->value, $this->item->extraFields->RoomTENDateAvailable->value);

这些是实际值:

Array ( [0] => Thursday, 01 January 1970 [1] => Thursday, 03 September 2015 [2] => Thursday, 01 January 1970 [3] => Thursday, 01 January 1970 [4] => Thursday, 01 January 1970 [5] => Thursday, 01 January 1970 [6] => Thursday, 01 January 1970 [7] => Thursday, 01 January 1970 [8] => Thursday, 01 January 1970 [9] => Thursday, 01 January 1970 ) 

我需要从数组中删除所有的"星期四,1970年1月1日"日期,所以它只包含有效的日期,我怎么能做到这一点呢?

尝试:

$avail = array_diff($avail, array('Thursday, 01 January 1970'));

你不需要重建你的数组,你可以用unset() [reference]删除数组条目。
update:你在这里不需要引用,你可以直接使用相应的数组:

foreach($avail as $key => $val)
{
    if($val == "Thursday, 01, January 1970")
        unset($avail[$key]);
}
var_dump($avail);

可以使用array_keys()函数,添加搜索特定值的选项,如下所示:

array_keys($array, "Thursday, 01 January 1970")

它将返回一个匹配索引的数组,您应该从原始数组中取消设置。