Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/235.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 - Fatal编程技术网

Php 为什么函数兰德在方括号中?

Php 为什么函数兰德在方括号中?,php,Php,我不明白为什么兰德在这个例子中被放在方括号里,我检查过的地方都是圆括号。代码如下: $characters = "ABCDEFGHIJKLMNOPQRSTUVWXYZ"; $allCharacters=$characters . strtolower($characters); $pass=""; for($i=0; $i<strlen($allCharacters);$i++) $pass.=$allCharacters[rand (0,strlen($allCharacter

我不明白为什么兰德在这个例子中被放在方括号里,我检查过的地方都是圆括号。代码如下:

$characters = "ABCDEFGHIJKLMNOPQRSTUVWXYZ";

$allCharacters=$characters . strtolower($characters);


$pass="";

for($i=0; $i<strlen($allCharacters);$i++)

$pass.=$allCharacters[rand (0,strlen($allCharacters)-1)]  ;

echo $pass;
$characters=“abcdefghijklmnopqrstuvxyz”;
$allCharacters=$characters。strtolower($个字符);
$pass=“”;

对于($i=0;$i欢迎使用堆栈溢出!)

rand()
是一个函数,但它只是用一个空格编写的,变成
rand()

这里有一个解释:

$pass.=$allCharacters[rand(0,strlen($allCharacters)-1)];
这条线正在做的是:

  • 查找
    $allCharacters
    的长度
  • 选择一个介于0和小于该数字的1之间的随机数(51,如果使用字母大写+小写)
  • 将随机生成的数字用作索引
    $allCharacters
    。这就是方括号。正如您可以使用
    $list[2]
    $list[3-1]
    )获得列表的第三项一样,您也可以使用随机数。编写此代码的人只是将
    rand()
    的结果直接传递到索引中
  • 该索引将从每个字符的列表中选择一个随机字符,并将其附加到
    $pass

  • 所以,你最终得到的是
    $pass
    持有字母表中的52个随机字母。

    好的,我知道了。我在想,您只能对数组索引使用[],但字符串是一个字母数组。有道理。谢谢