尚狐小知识-PHP简单的排列组合

Time:2021/06/11 11:42:27   Click:

PHP是一们最受欢迎的语言,今天为大家分享一个小技巧,排序组合,由四川尚狐网络公司技术编写,分享一下原理 给大家。

最近公司要为一个多年的老客户写一个检测小程序,里面就涉及到很多答案,不同的答案对应不同的结论,由于题目非常多,所以要是人工去添加这些排序组合的结合,无疑是非常头疼,所以自己写好了一个小方法,原理入代码:

$a1 = array('a','b');
$a2 = array('a','b','c');
$a3 = array('a','b','c');
$arr = array();
foreach ($a1 as $k1 => $v1) {
    foreach ($a2 as $vk2 => $v2) {
    	foreach ($a3 as $k3 => $v3) {
    		$arr[] = $v1.$v2.$v3;
    	}
    }
}
p($arr);

结果为:

Array
(
    [0] => aaa
    [1] => aab
    [2] => aac
    [3] => aba
    [4] => abb
    [5] => abc
    [6] => aca
    [7] => acb
    [8] => acc
    [9] => baa
    [10] => bab
    [11] => bac
    [12] => bba
    [13] => bbb
    [14] => bbc
    [15] => bca
    [16] => bcb
    [17] => bcc
)

分析一下:由统计学来说,数量为:2*3*3=18个,但是如果一个题有4个选项,那就是4*4*4=64,如果只有10个题,那就是410这样多,那就是天文数字,如果一个排:

第一个:aaaaa aaaaa

第二个:aaaaa aaaab

第三个:aaaaa aaaac

....

这样会累死个人噢,而且排到中间,不太懂这个数量排序法人,肯定会出错,而且还要漏掉,所以写一个小方法即可解决。

本文由四川尚狐网络独家撰写,严禁转载。

四川尚狐网络-一家服务10年的专业网站制作公司,累计服务客户400+,用心,只为做好每一个网站!
TOP

四川尚狐网络@2012 版权所有
蜀ICP备12016524号-2

立即咨询
成都网站建设,成都做网站,四川尚狐网络
40f13d50b73e104f832ed1b719ae6935