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