在上一篇文章《使用珠算法对PHP数组进行排序》中给大家介绍了通过珠算法对数组进行排序,本文继续给大家介绍一个小知识点~
假设有这样的问题:请你编写一个 PHP 函数,返回不为 0 的最小整数。
大家对这样一个问题,有没有简单的思路啊?
其实大家应该都知道在PHP中有一个内置函数min(),就是用来获取返回一个数组中的最小值,或者几个指定值中的最小值。
那么我们怎么通过创建一个PHP函数来获取返回不为0的最小整数呢?
下面我们来给大家介绍具体的实现步骤:
首先创建一个PHP示例文件demo.php;
然后自定义一个min_values_not_zeroh
函数;
完整代码如下:
<?php function min_values_not_zero(Array $values) { return min(array_diff(array_map('intval', $values), array(0))); } print_r(min_values_not_zero(array(-1,0,1,12,-100,1))."\n");
这里给了一个示例数组“-1,0,1,12,-100,1”,让我们看看这组数据返回不为0的最小整数是哪个?
结果如下:
如图,最小整数是-100.
很简单吧。
注:
array_map()
函数:为数组的每个元素应用回调函数,返回值是数组,包含 callback 函数处理之后 array (有多个数组时,为 arrays) 对应索引所有元素作为函数的参数。当仅仅传入一个数组时,返回的数组会保留传入参数的键(key)。 传入多个数组时,返回的数组键是按顺序的 integer。
array_diff()
函数:用于比较两个(或更多个)数组的值,并返回差集。该函数比较两个(或更多个)数组的值(key=>value 中的 value),并返回一个差集数组,该数组包括了所有在被比较的数组(array1)中,但是不在任何其他参数数组(array2 或 array3 等等)中的值。
最后给大家推荐一个咱们平台的最新免费课程《从0开始进入PHP的世界》~快来学习吧!
以上是用PHP快速返回不为0的最小整数的详细内容。更多信息请关注PHP中文网其他相关文章!