PHP计算字符串的组合取决于字符串

时间:2017-03-22 12:55:54

标签: php math

这是情景:

有像这样的字符串:

$characters = '0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ';

我有一个生成随机字符串的方法,其长度可变取决于字符变量:

public function generateCodes($length, $qty)
    {
        $codes = [];

        if ($length > 0 && $qty > 0) {
            for ($i = 0; $i < $qty; $i++) {
                $code = '';
                for ($i = 0; $i < $length; $i++) {
                    $code .= $characters[mt_rand(0, strlen($characters) - 1)];

                    if (!in_array($code, $codes)) {
                        $codes[] = $code;
                    }
                }
            }
        }
    }

我想要的是计算特定$ length的可能唯一代码。但是我怎么能达到这个目标呢?

这是我迄今为止的尝试 - 但我不认为重要的事情。

public function calculateCombinations($length)
    {
        $combinations = 0;

        if ($length > 0) {

            for ($i = 0; $i < $length; $i++) {
                $combinations = $combinations + pow(2, $length -1);
            }
        }

        return $combinations;
    }

这个的正确公式是什么? 提前谢谢!

0 个答案:

没有答案