假如数组值为
$a=array('1','8','2','3','11');
要计算出11以下那些4,5,6,7,9,10还没有存在于该数组怎么计算?因为这个数组的最大值11可能是任意数,所以要根据最大值来确定比他小的值还有那些没有在该数组中。

解决方案 »

  1.   

    $a = array('1','8','2','3','11');
    $b = range(min($a), max($a));
    print_r(array_diff($b, $a));Array
    (
        [3] => 4
        [4] => 5
        [5] => 6
        [6] => 7
        [8] => 9
        [9] => 10
    )
      

  2.   

    $a=array('1','8','2','3','11');
    $b = range($a[0], $a[count($a) - 1]);$result = array_diff($b, $a); //缺少的值,即$b与$a的差集
    print_r($result);