【发布时间】:2019-03-11 09:56:27
【问题描述】:
我有一个数组计算多个值,例如 D0001、D0002、D0003、... 但有时缺少一个值,在这种情况下,这些值应该是新的 ID。如果没有缺失值,则取下一个值。 这是我用来检索数组的代码。
example => array = array("D0001","D0002","D0003","DOOO5");
# function finding missing values?
function missing_values($list)
$range = 0;
foreach ($list as $l){
$nr = $range+1
if ($l != $nr){
$id = $nr;
}
}
$numbers = array();
while($row = $result->fetch_array()){
$id = $row['id'];
echo "--------------------------------" . "<br/>";
echo "ID " . " --> " . $id ."<br/>";
$id = substr($id,1);
echo "ID " . " --> " . $id ."<br/>";
$id = ltrim($id, '0');
echo "ID " . " --> " . $id ."<br/>";
$list[] = $id;
}
print_r($list);
# Find missing values
$array = missing_values($list);
if(empty($array)){
$max = max($list);
$id = $max+1;
}else{
$keys = array_keys($array);
$id = $array[$keys[0]];
}
有人能告诉我如何在数组中找不到缺失值吗?还是有更简单的方法来做到这一点?
【问题讨论】:
-
请添加您的演示数组和预期输出
-
专业提示:欢迎初学者,但我们希望在发布问题之前在问题上花费一定的精力。尽管我们非常愿意帮助您解决您编写的代码的问题,但我们不会为您编写代码。
-
我建议检查
$list中的最大 val 并将其与count(list)进行比较