-2

这就是问题:

我有以下数组(来自$wpdb->get_results()):

array(6) {
    [0]=> array(1) {
        [0]=> string(7) "1102006"
    }
    [1]=> array(1) {
        [0]=> string(7) "1102006"
    }
    [2]=> array(1) {
        [0]=> string(7) "8092007"
    }
    [3]=> array(1) {
        [0]=> string(8) "23062012"
    }
    [4]=> array(1) {
        [0]=> string(8) "29072000"
    }
    [5]=> array(1) {
        [0]=> string(8) "30082008"
    }
}

我想从 10,000 中找到不在此数组中的最小整数。在这种情况下,答案将是 10,000,因为 10,000 不在数组中。

谢谢

4

1 回答 1

0

这就是我解释你的问题的方式。

从 10000 开始,找到不在数据数组中的第一个可用数字。

<?php

$data = array(
    array('1102006'),
    array('1102006'),
    array('8092007'),
    array('23062012'),
    array('29072000'),
    array('30082008')
);

// flatten the array to a single dimension
function flatten(&$v) { $v = $v[0]; }

array_walk($data, 'flatten');

// minimum number
$num = 10000;

// while a value has not been found
while (!isset($value))
{
    // check if the current number is in our data (exclusion list)
    if (array_search($num, $data) === false)
        $value = $num;

    // increment for our next search
    $num++;
}

echo $value;

如果您刚好在该数组中的最小值之后,请在上一个答案中展平数组并使用min

echo min($data);
于 2012-10-22T02:48:29.273 回答