变量不会到阵列

ari*_*iel 0 php arrays

我的数组有问题,这是我的代码:

$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();运作良好

sac*_*een 5

这条线路失败了.

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)