Php 如何在关联数组中查找最小数

Php 如何在关联数组中查找最小数,php,arrays,integer,associative-array,min,Php,Arrays,Integer,Associative Array,Min,这就是问题所在: 我有以下数组(从$wpdb->get_results()): 我想从10000中找出不在这个数组中的最小整数。在这种情况下,答案是10000,因为10000不在数组中 谢谢我就是这样解释你的问题的 从10000开始,查找不在数据数组中的第一个可用数字 <?php $data = array( array('1102006'), array('1102006'), array('8092007'), array('23062012'),

这就是问题所在:

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

我想从10000中找出不在这个数组中的最小整数。在这种情况下,答案是10000,因为10000不在数组中


谢谢

我就是这样解释你的问题的

从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;

答案总是10000,除非您计划将此函数的结果附加到该数组中。是这样吗?第一步的答案是10000。因此,用户可以选择默认的10000或其他他/她喜欢的数字。然后在步骤2,另一个用户将面临相同的决定,以此类推。。我的问题是,我不知道如何“说”算法来做到这一点。嗨,亚历克斯,从我读到的,这是非常接近我要找的!不幸的是,我可以测试它,因为我在运行array_walk时收到一条错误消息。。我使用的是PHP5.2.6,我不知道这是否能解释这个错误。太棒了。你让我开心,亚历克斯。非常感谢你。
<?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;
echo min($data);