Arrays 集合的完全匹配和部分匹配

Arrays 集合的完全匹配和部分匹配,arrays,algorithm,language-agnostic,Arrays,Algorithm,Language Agnostic,我有几个相同类型的集合[Y,M,D],我正试图编写一个函数来搜索这些集合,并返回一个适合我的参数的可用集合数组 ReturnedSets=返回匹配,M,D 我希望函数return_matches的三个参数是可选的。这意味着可以使用任何值的组合来返回集合 例如,可以写-return_matches13,null,2;-函数将查找包含[13,anyValue,2]的所有集合 我用PHP写这篇文章,是为了允许用户管理我网站上的过期文件,但我希望能够将此函数再次用于其他用途 谢谢 编辑:到目前为止,我能

我有几个相同类型的集合[Y,M,D],我正试图编写一个函数来搜索这些集合,并返回一个适合我的参数的可用集合数组

ReturnedSets=返回匹配,M,D

我希望函数return_matches的三个参数是可选的。这意味着可以使用任何值的组合来返回集合

例如,可以写-return_matches13,null,2;-函数将查找包含[13,anyValue,2]的所有集合

我用PHP写这篇文章,是为了允许用户管理我网站上的过期文件,但我希望能够将此函数再次用于其他用途

谢谢

编辑:到目前为止,我能想到的就是这个,或者是它的变体。。。还有一些额外的东西我不明白,因为这个函数最终/无法返回包含y和d的集合,但留下m是任意的

if(y == s[0]){

        if(m == s[1]){

            if(d == s[2]){

                print "day match";

                }

            } else {print "month match";}

        } else {print "year match";}

    } else {print "no match";}

我已经很久没有用php写东西了,所以我将用伪代码向您推荐,我在想什么:

$ReturnedSets = array();
   if( (!isset y) or == s[0]) {
      if( (!isset m) or == s[1]) {
         if( (!isset d) or == s[2]) {
                 $ReturnedSets[] = s;
         } else {print "month match";}
         } else {print "year match";}
   } else {print "no match";}
return $ReturnedSets;

我希望这段伪代码对您有用,并为您提供一条获取工作代码的线索。

您自己对如何编写这段代码有何想法?到目前为止,您已经创建了哪些代码?我们很乐意提供帮助,但我们不愿意为您做工作,因为您太懒了,无法自己做。除了这个函数,我的脚本中已经编写了所有代码。我不知道我是否理解如何正确地进行递归。我正在用我的代码添加一个编辑。不要标记为java和javascript它们不是一回事