【发布时间】:2016-03-28 23:03:51
【问题描述】:
我正在尝试使用 rand() 函数生成随机数,并确保它们不在 excArray 中。
如果我这样做 print_r(array_values($excArray)) 它返回 Array ( [0] => ) 这意味着它是空的(对吗?)
但是当我做in_array($randInt, $excArray)($randInt is = 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?
谢谢!
【问题讨论】:
-
不,array( 0 => ) 意味着你有一个索引为 0 的值,它只是空的。但它会返回 true,因为它存在。
-
如果你不使用它们,为什么你的函数上有这么多参数?此外,据我所知,您只生成 0 到 1 之间的 rand 数。您的代码对于这么简单的任务来说似乎太复杂了。
-
@PedroLobito 我正在使用它们。我只是发布了我遇到问题的代码。该代码用于生成长 uniqe 代码。