如何用array_intersect显示一天


How to display the day with array_intersect

我必须设置数组 1. 是工作日的数组,而 2. 是日期名称。我想显示 1 中的日期名称。但阵列是不同的。我试图使用array_intersect.但它不起作用。

$weekDay

$weekDay=array("1"=>"Mon","2"=>"Tue","3"=>"Wed","4"=>"Thu","5"=>"Fri","6"=>"Sat","7"=>"Sun");

$opDay

=0,0,0,4,0,0,7

所以,我希望结果显示如下:Thu,Sun.所以我写了这个函数:

function opd($a1,$a2){
    $result=array_intersect($a1,$a2);
    return $result; 
}

但是,由于阵列不可交集。所以当我调用时函数不起作用:

opd($weekDay,$opDay);

有什么功能可以做到这一点吗?

您使用的

日期 ID 是$weekDay的键,而它们是 $opDay 的值,因此您需要翻转其中一个数组以形成交集:

function opd($a1, $a2)
{
    $return = array_intersect(array_flip($a1), $a2);
    return implode(',', array_keys($return));
}