我如何用PHP找到丢失的数字

时间:2015-05-26 19:20:00

标签: php

我有一个像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];

2 个答案:

答案 0 :(得分:6)

这样的东西
$str = '914027';
if ($missNumbers = array_diff(range('0','9'), str_split($str))) {
    echo sprintf("Missing: %s", implode(', ', $missNumbers));
}

演示:http://3v4l.org/HelUL

答案 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"]

如果你有很多数字,把它们全部放在一个数组中,然后循环遍历它。