php函数生成数字和字母
因此,我需要创建一个函数,该函数将生成以下类型的组合:php函数生成数字和字母,php,function,random,Php,Function,Random,因此,我需要创建一个函数,该函数将生成以下类型的组合: 选项#1:####(可以/需要是3个数字) 选项2:#*#(数字、字母、数字) 选项3:#**(数字、字母、字母) 选项#4:*#(字母、字母、数字) 选项#5:*##(字母、数字、数字) 选项#6:*(字母、字母、字母) 这样做的原因是根据FAA网站分析这些可能性,以找到可用的代码。因此,如果我可以创建函数来创建这些可能性,我可以将它们存储在数据库中,然后编写我的函数来循环这些可能性,并将它们推送到curl方法来获取响应。但是,关于如
- 选项#1:####(可以/需要是3个数字)
- 选项2:#*#(数字、字母、数字)
- 选项3:#**(数字、字母、字母)
- 选项#4:*#(字母、字母、数字)
- 选项#5:*##(字母、数字、数字)
- 选项#6:*(字母、字母、字母)
字段1:123-字段2:1B1-字段3:T8C
您的问题很小,您可以使用以下方法:
<?
function randomString($format) {
$format = str_split($format);
$chars = str_split("abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ");
$res = "";
foreach ($format as $f) {
if ($f=="#") $res .= rand(0,9);
else $res .= $chars[array_rand($chars)];
}
return $res;
}
?>
这基本上是以您需要的方式返回随机字符串。例如:
<?
echo randomString("##**");
?>
将返回两个数字,后跟两个字符
我没有测试就写了这个,所以可能需要一些调整,我通常不喜欢为其他人的问题编写代码,但这看起来很有趣,尽管问题很小
如果这是您需要的,请告诉我。一种可能的方法是将所有字符添加到一个数组中,循环3次,然后将它们全部添加到一起。像这样:
function return_all_possible_combos() {
$chars = array();
for($i=48;$i<=57;$i++) {
$chars[] = chr($i); // adds the characters 0-9 to the $chars array (48-57 are the positions of 0-9 in the ASCII table
}
for($i=65;$i<=90;$i++) {
$chars[] = chr($i); // adds the characters 0-9 to the $chars array (65-90 are the positions of A-Z in the ASCII table
}
// $chars now holds all values 0-9 and A-Z
$possible_values = array();
foreach($chars as $k=>$first_char) {
foreach($chars as $l=>$second_char) {
foreach($chars as $m=>$third_char) {
$possible_values[] = $first_char . $second_char . $third_char;
}
}
}
return $possible_values;
}
函数返回所有可能的组合(){
$chars=array();
对于($i=48;$i$second\u char){
foreach($m=>第三个字符){
$PROABLE_values[]=$first_char.$second_char.$third_char;
}
}
}
返回$U值;
}
到目前为止,您自己做了哪些尝试?我们不是来为您编写代码的,而是在您陷入困境时帮助您。让我们看看你尝试了什么,我们会尽力帮助你。我在这里尝试了一些例子:但不能让他们做我需要的。你想要今天的现有FAA代码列表吗?这就是我试图将这些组合发布到的地方:好吧,那么你正在寻找排列/组合。普通数学软件包通常包含这些内容,您只需阅读一些文档或搜索现有问题。如果目标是获得一套完整的代码,那么随机可能不是一个好办法。虽然我想给你足够的时间,你最终会找到所有不同的组合。我不想讨论随机字符串的用途,但你是对的。尤其是因为他是随机猜测的。如果他需要猜测,他应该从第一个开始到最后一个,不要随机猜测,因为没有人能保证相同的随机序列不会生成两次甚至更多。这似乎已经做到了!查看列表-似乎它产生了我所需要的。这也是一种有趣的方法。不是我该怎么做的。但似乎确实产生了结果。对于更多的排列,我会选择递归方法,但因为只有3种,而且这种方法对于普通人来说更容易阅读。。。这是我真正欣赏它的方式。它似乎确实产生了我一直在寻找的结果和组合。其中约4.6万人:)