Php 在空数组中找到0

Php 在空数组中找到0,php,arrays,Php,Arrays,我试图用rand()函数生成随机数,并确保它们不在数组中 如果我打印(数组值($excArray))它返回数组([0]=>),这意味着它是空的(对吗?) 但是当我在_数组($randInt,$excArray)($randInt=0)中执行,或者在_数组(0,$excArray)中执行回显时返回1 这是我的密码: 函数生成代码($char、$int、$prefix、$len、$lenMin、$lenMax、$exclude、$array){ 做{ $code=“”; $i=0; $excArra

我试图用rand()函数生成随机数,并确保它们不在数组中

如果我打印(数组值($excArray))它返回
数组([0]=>)
,这意味着它是空的(对吗?)

但是当我在_数组($randInt,$excArray)($randInt=0)中执行
,或者在_数组(0,$excArray)中执行
回显时返回
1

这是我的密码:

函数生成代码($char、$int、$prefix、$len、$lenMin、$lenMax、$exclude、$array){
做{
$code=“”;
$i=0;
$excArray=分解(“,”,$exclude);
_阵列中的回波(0,$exc阵列);
退出();
而($i++<$int){
做{
$randInt=兰特(0,1);
echo$randInt;
}while(在数组中($randInt,$excArray));
$code.=$randInt;
}
那么为什么
在_数组(0,$excArray)
;echo
1


谢谢!

数组([0]=>)
表示有一个项目打印为空字符串,可能是
null
false
或…空字符串。使用
var\u dump
而不是
print\r
查看有关其实际类型的更多信息。在那里,当比较数字和stri时,您可能会遇到与类型转换相关的古怪行为ngs…使用数组中的
(..,..,true)
进行严格比较,或者找出该数组中的空项并避免首先创建它。

数组([0]=>)
表示有一个项目打印为空字符串,可能是
null
false
或…空字符串。使用
var\u dump
而不是
print\r
查看有关其实际类型的更多信息。在那里,当比较数字和stri时,您可能会遇到与类型转换相关的古怪行为ngs…使用数组中的
(..,..,true)
进行严格比较,或者找出该数组中的空项并避免首先创建它。

否,数组(0=>)意味着你有一个索引为0的值,它只是空的。但它会返回true,因为它存在。如果你不使用它们,为什么你的函数中有这么多参数?而且,从我所看到的,你只生成了介于0和1之间的随机数。你的代码似乎太复杂了,无法完成这么简单的任务。@Pedrobito我正在使用它们。我只是测试了我遇到问题的代码。该代码用于生成长uniqe代码。否,数组(0=>)意味着你有一个索引为0的值,它只是空的。但它会返回true,因为它存在。如果你不使用它们,为什么你的函数中有这么多参数?而且,从我所看到的,你只生成了介于0和1之间的随机数。你的代码似乎太复杂了,无法完成这么简单的任务。@Pedrobito我正在使用它们。我只是sted是我遇到问题的代码。该代码用于生成长uniqe代码。谢谢。$exclude参数直接来自空输入字段。使用严格比较有效。我将在允许时尽快将此答案标记为正确。谢谢。$exclude参数直接来自空输入字段。使用严格比较比较成功了。我会尽快把这个答案标记为正确。