我在使用in_array()时遇到了一些问题,我想创建一个从100到999的唯一数字,这个数字还没有存储在数组中,但是in_array函数似乎不起作用。下面的例子就是我现在的代码。
我已经将2个字符串推送到顶部的数组中。在函数中,我尝试运行它,但只得到了值"sb100",并且我应该得到"sb102“,因为100和101已经在数组中了。
$uniqueIDs[] = "sb100";
$uniqueIDs[] = "sb101";
function keyExists($ui){
for($i=100;$i<=999;$i++){
$R = "sb".$i;
if(in_array($R, $ui)){
return "";
}else{
return $R;
break;
}
}
}
keyExists($uniqueIDs);
发布于 2018-07-04 03:13:49
问题是,当它找到一个已经存在的元素时,它会执行return "";
。相反,如果它在数组中,只需继续,如果不在数组中,则返回...
function keyExists($ui){
for($i=100;$i<=999;$i++){
$R = "sb".$i;
if(!in_array($R, $ui)){
return $R;
}
}
}
发布于 2018-07-04 03:13:57
$uniqueIDs[] = "sb100";
$uniqueIDs[] = "sb101";
function keyExists($ui){
for($i=100;$i<=999;$i++){
$R = "sb".$i;
if(!in_array($R, $ui)){
return $R;
}
}
}
echo keyExists($uniqueIDs);
如果匹配,则不应返回...
https://stackoverflow.com/questions/51161456
复制相似问题