Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/290.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
php函数生成数字和字母_Php_Function_Random - Fatal编程技术网

php函数生成数字和字母

php函数生成数字和字母,php,function,random,Php,Function,Random,因此,我需要创建一个函数,该函数将生成以下类型的组合: 选项#1:####(可以/需要是3个数字) 选项2:#*#(数字、字母、数字) 选项3:#**(数字、字母、字母) 选项#4:*#(字母、字母、数字) 选项#5:*##(字母、数字、数字) 选项#6:*(字母、字母、字母) 这样做的原因是根据FAA网站分析这些可能性,以找到可用的代码。因此,如果我可以创建函数来创建这些可能性,我可以将它们存储在数据库中,然后编写我的函数来循环这些可能性,并将它们推送到curl方法来获取响应。但是,关于如

因此,我需要创建一个函数,该函数将生成以下类型的组合:

  • 选项#1:####(可以/需要是3个数字)
  • 选项2:#*#(数字、字母、数字)
  • 选项3:#**(数字、字母、字母)
  • 选项#4:*#(字母、字母、数字)
  • 选项#5:*##(字母、数字、数字)
  • 选项#6:*(字母、字母、字母)
这样做的原因是根据FAA网站分析这些可能性,以找到可用的代码。因此,如果我可以创建函数来创建这些可能性,我可以将它们存储在数据库中,然后编写我的函数来循环这些可能性,并将它们推送到curl方法来获取响应。但是,关于如何创建此函数,我遇到了代码阻塞

例如:


字段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万人:)