<?php
function generateRandomString($length = 10, $alpha = false, $numeric = false) {
if ($alpha) { $characters = 'ABCDEFGHJKLMNPQRSTUVWXYZ'; }
if ($numeric) { $characters = '0123456789'; }
$charactersLength = strlen($characters);
$randomString = '';
for ($i = 0; $i < $length; ++$i) {
$randomString .= $characters[rand(0, $charactersLength - 1)];
}
if (substr($randomString, 0, 1) != 2) { // if doesn't start with 2
generateRandomString($length, $alpha, $numeric); // try again
}
else {
return $randomString;
}
}
$num = generateRandomString(8, false, true);
echo ($num);
我需要它以开头的值返回,2
但它根本不返回任何东西,也没有错误。我在这里做错了什么?
在这里使用return,更改此
if (substr($randomString, 0, 1) != 2) { // if doesn't start with 2
generateRandomString($length, $alpha, $numeric); // try again
}
至
if (substr($randomString, 0, 1) != 2) { // if doesn't start with 2
return generateRandomString($length, $alpha, $numeric); // try again
}
本文收集自互联网,转载请注明来源。
如有侵权,请联系 [email protected] 删除。
我来说两句