我有一个像914027的号码,现在我想找到6位数中缺少的数字,例如:该号码中缺少3,5,6,8。我有300个号码,所以不容易找到,这就是我想用代码做的原因
$str = '914027';
$one=$str[0];
$two=$str[1];
$three=$str[2];
$four=$str[3];
$five=$str[4];
$six=$str[5];
答案 0 :(得分:6)
像
这样的东西$str = '914027';
if ($missNumbers = array_diff(range('0','9'), str_split($str))) {
echo sprintf("Missing: %s", implode(', ', $missNumbers));
}
答案 1 :(得分:0)
您可以使用数组函数。
设置一个包含所有数字的数组:
$digits = array("0","1","2","3","4","5","6","7","8","9");
现在将数字拆分为数组:
$str = "914027";
$numDigits = str_split($str);
现在你可以使用array_diff找到它们之间的区别:
$missing = array_diff($digits, $numDigits);
结果将是一个包含missin数字的数组:
["3","5","6","8"]
如果你有很多数字,把它们全部放在一个数组中,然后循环遍历它。