集的完全匹配和部分匹配

时间:2011-03-15 07:51:25

标签: arrays algorithm language-agnostic

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

ReturnedSets = return_matches(Y,M,D);

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

例如,可以编写 - return_matches(13,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";}

1 个答案:

答案 0 :(得分:0)

自从我在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;

我希望你发现这个伪代码有用,并为你提供如何获得工作代码的线索。