我正在尝试编写一种类似于this question的最近数量的代码块,除了我不想让我的代码返回比针更大的值。PHP从针下降搜索阵列
基本上你有值的数组:
$array = array(2012, 2013, 2015, 2016, 2018);
,功能会有这些结果
needle: 2011 result: 2012
needle: 2012 result: 2012
needle: 2014 result: 2013
我在想沿着这些路线的东西:
while(!in_array($year, $years))
{
if($year<$years[count($years)+1]){$year = $years[$count($years)+1];}//Edited
$year -= 1;
}
除这并没有赶上2011年的例外,并不比所有的VA都好在阵列
编辑,我想出了如何捕捉2011年的例外,现在我唯一的问题是,这只是似乎效率低下,如果说3012年将被输入PHP将通过〜1000迭代的运行码。
鉴于针'2011',最低值是'2012',你断定,它不应该比针返回一个值时,为什么它返回'2012' ?它不应该返回'null'或'-1'什么的? – Dan
我想它应该,但我想那里总是要返回的数字,如果针少于最小数组的值,则不会有实际的响应。基本上在我的应用程序中,返回的值进入MySQLi查询,我想尽可能少地出错。 – Blakethepatton