我想用rand()函數生成隨機數,並確保它們不在excArray中。0在空數組中發現
如果我做print_r(array_values($excArray))
返回Array ([0] =>)
這意味着它是空的(是嗎?)
但是當我做in_array($randInt, $excArray)
($ randInt是= 0),或者乾脆echo in_array(0, $excArray);
返回1
這裏是我的代碼:
function generateCode($char, $int, $prefix, $len, $lenMin, $lenMax, $exclude, $array){
do{
$code = "";
$i = 0;
$excArray = explode(",", $exclude);
echo in_array(0, $excArray);
exit();
while($i++ < $int){
do {
$randInt = rand(0,1);
echo $randInt;
}while(in_array($randInt, $excArray));
$code .= $randInt;
}
那麼爲什麼echo in_array(0, $excArray)
;回聲1
?
謝謝!
不,數組(0 =>)意味着你有一個索引值爲0的值,它只是空的。但它會因爲存在而返回真實。 – VikingBlooded
爲什麼如果你不使用它們,你的函數有那麼多參數?另外,從我所看到的你只能生成0到1之間的數字。你的代碼看起來太複雜了,這樣一個簡單的任務。 –
@PedroLobito我正在使用它們。我只是發佈了我遇到問題的代碼。該代碼用於生成長的唯一代碼。 –