我的数组有问题,这是我的代码:
$random_string = array();
for($i=0;$i<10;$i++)
{
$zmienna = generatePassword();
//echo $zmienna;
if (in_array($zmienna, $random_string))
$random_string[$i] = $zmienna;
}
var_dump($random_string);
Run Code Online (Sandbox Code Playgroud)
在屏幕上我看到了olny
array(0) { }
Run Code Online (Sandbox Code Playgroud)
怎么了?Becouse我确信它generatePassword();运作良好
这条线路失败了.
if (in_array($zmienna, $random_string))
Run Code Online (Sandbox Code Playgroud)
$random_string是空的,所以$zmienna永远不会"进入"它.
我想你可能打算在那里放一个NOT运算符?如果它不在数组中,添加它?如果是这样:
if (!in_array($zmienna, $random_string))
Run Code Online (Sandbox Code Playgroud)
此外,您的阵列将跳过一些键.你最终会得到类似的东西
array(3) {
[0]=>
string(1) "a"
[2]=>
string(1) "b"
[4]=>
string(1) "c"
}
Run Code Online (Sandbox Code Playgroud)
如果你没有用$i(只做$random_string[] = $zmienna;)指定一个索引,它会自动执行这些键,所以你得到了
array(3) {
[0]=>
string(1) "a"
[1]=>
string(1) "b"
[2]=>
string(1) "c"
}
Run Code Online (Sandbox Code Playgroud)