如何计算PHP中字符串组合的数量?

时间:2013-09-15 14:30:25

标签: php

http://www.republicof3.com/how-to-generate-unique-promotion-discount-codes-in-php/

我找到了一个在PHP中生成唯一促销代码的函数

但是存在一个很大的问题,如果要生成的代码数量多于剩余组合的数量(所有组合长度为exclude_codes_array),则该函数将变为无限循环。

例如:如果$ characters =“0A”;组合为“00”,“0A”,“A0”,“AA”= 4,如果$ no_of_codes> 4,则循环无法停止。

所以我想在循环之前检查代码的数量和所有剩余的代码组合,如何计算字符串的组合?

2 个答案:

答案 0 :(得分:2)

根据您为A0计算的内容。

AA, 00 , A0, 0A 

概括和使用基本排列和组合应该是,

2^{strlen($str)};

答案 1 :(得分:1)

离散数学

available chars = 2 ("A", "0")
available spaces = 2 ("**")

chasr ^ spaces = 4

available chars = 2 ("A", "0")
available spaces = 3 ("***")

chars ^ spaces = 8

available chars = 3 ("A", "B", "0")
available spaces = 2 ("**")

chars ^ spaces = 9