php 多组数字如何计算所有的组合形式。如:

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了php 多组数字如何计算所有的组合形式。如:相关的知识,希望对你有一定的参考价值。

第一组:1,2
第二组:5,6
第三组:9,10
最后计算出所有的组合:
1,5,9;
1,5,10;
2,5,9;
2,5,10;
1,6,9;
1,6,10;
2,6,9;
2,6,10;

$A = ['红色','黄色'];
$B = ['M','L','XL'];
$C = ['轻','重'];
// 先将各属性值处理成一个整体
$list['A'] = $A;
$list['B'] = $B;
$list['C'] = $C;

$res = array();
foreach ($list as $k => $v) 
   $res = getCombinationToString($v);

/**
 * 获取组合的结果
 * [@author](https://my.oschina.net/arthor) 18y
 */
function getCombinationToString($val)    
    // 保存上一个的值
    static $res = array();    
    if(empty($res))
    
        $res = $val;
    else        
            // 临时数组保存结合的结果
        $list = array();        
        foreach ($res as $k => $v)             
            foreach ($val as $key => $value) 
                $list[$k.'_'.$key] = $v.'_'.$value;     
            
        
        $res = $list;
        
    return $res;

详情看全文吧,这里写有点乱 php 多组数组算所有的组合形式

参考技术A $arr1=array(1,2);
$arr2=array(5,6);
$arr3=array(9,10);
for($i=0;$i<count($arr1);++$i)

for($j=0;$j<count($arr2);++$j)

for($k=0;$k<count($arr3);++$k)

echo $arr1[$i].",".$arr2[$j].",".$arr3[$k]."<br/>";


追问

如果不确定是多少组数据怎么办?

追答

递归

追问

能列个算法吗?拜谢!

能列个算法吗?拜谢!

本回答被提问者和网友采纳

如何过滤掉某些组合?

我正在尝试使用Regex过滤TextBox的输入。我需要在小数点前最多3个数字,然后我需要2个数字。这可以是任何形式。

我已经尝试更改正则表达式命令,但它会产生错误,单个输入将无效。我在WPF中使用TextBox来收集数据。

bool containsLetter = Regex.IsMatch(units.Text, "^[0-9]{1,3}([.] [0-9] {1,3})?$");
if (containsLetter == true)
{
    MessageBox.Show("error");
}
return containsLetter;

我希望正则表达式过滤器接受这些类型的输入:

111.11,
11.11,
1.11,
1.01,
100,
10,
1,
答案

正如在注释中提到的那样,空格是将在您的正则表达式模式中按字面解释的字符。

因此,在你的正则表达式的这一部分:

([.] [0-9] {1,3})

  • 预计.[0-9]之间的空间,
  • [0-9]之后,正则表达式将13空间相匹配。

这就是说,出于可读性目的,您可以通过多种方式构建正则表达式。

1)将评论从正则表达式中删除:

string myregex = @"s" // Match any whitespace once
+ @"
"  // Match one newline character
+ @"[a-zA-Z]";  // Match any letter

2)使用语法(?#comment)在正则表达式中添加注释

needle(?# this will find a needle)

Example

3)在你的正则表达式中激活自由间隔模式:

nee # this will find a nee...
dle # ...dle (the split means nothing when white-space is ignored)

doc:https://www.regular-expressions.info/freespacing.html

Example

以上是关于php 多组数字如何计算所有的组合形式。如:的主要内容,如果未能解决你的问题,请参考以下文章

PHP中怎么以二进制形式表示数字?

数据的存储

用PHP写一个接口,随机生成6位数字,然后以短信的形式发送到对应的手机号上。从来没写过接口不知道如何写

浮点类型是如何存储的

怎么将已有的页面中的某一块内容调PHP数据库用表格的形式替换到已有页面上要替换的块内容 5 在线等

怎样把excel中所有以文本形式存储的数字转换为数字啊???