2 回答
TA贡献1712条经验 获得超3个赞
您可以通过创建正则表达式对数字进行preg_match,例如:
/^[235046]+$/
这意味着我们试图匹配一个从开始(插入符号)到结束(美元符号)的数字(含义,或等)的字符串。如果我们找到匹配项,我们会将它们收集到另一个数组中。235046235^$
片段:
<?php
$digits = '235046';
$single_chart_filtered = [];
foreach($single_chart as $chart_value){
if(preg_match("/^[$digits]+$/",$chart_value) === 1){
$single_chart_filtered[] = $chart_value;
}
}
print_r($single_chart_filtered);
$double_chart_filtered = [];
foreach($double_chart as $chart_value){
if(preg_match("/^[$digits]+$/",$chart_value) === 1){
$double_chart_filtered[] = $chart_value;
}
}
TA贡献1784条经验 获得超7个赞
001 是0123456789的有效组合。您需要过滤数组以查找可能的集合:
// simple artificial setup
$single = [111,222,333,444,555];
function generatePossibleSet($input) { return [000,001,010,100,011,101,110,111]; }
$possibleSet = generatePossibleSet("01");
$set = $single;
// just interscet the picked set with the possible set
$set = array_intersect($set, $possibleSet);
此示例将给出 [111] - 集合列表中 0 和 1 的唯一有效组合。
- 2 回答
- 0 关注
- 98 浏览
添加回答
举报