在上一篇文章《使用珠算法对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的最小整数是哪个?

结果如下:

f64bfa74a89c41245aa82560d95e847.png

如图,最小整数是-100.

很简单吧。

注:

array_map()函数:为数组的每个元素应用回调函数,返回值是数组,包含 callback 函数处理之后 array (有多个数组时,为 arrays) 对应索引所有元素作为函数的参数。当仅仅传入一个数组时,返回的数组会保留传入参数的键(key)。 传入多个数组时,返回的数组键是按顺序的 integer。

array_diff()函数:用于比较两个(或更多个)数组的值,并返回差集。该函数比较两个(或更多个)数组的值(key=>value 中的 value),并返回一个差集数组,该数组包括了所有在被比较的数组(array1)中,但是不在任何其他参数数组(array2 或 array3 等等)中的值。

最后给大家推荐一个咱们平台的最新免费课程《从0开始进入PHP的世界》~快来学习吧!

以上就是用PHP快速返回不为0的最小整数的详细内容,更多请关注php中文网其它相关文章!

php中文网最新课程二维码

声明:本文原创发布php中文网,转载请注明出处,感谢您的尊重!如有疑问,请联系admin@php.cn处理

  • 相关标签:PHP
  • https://www.php.cn/php-weizijiaocheng-480763.html

    最后修改日期: 2021-08-03

    留言

    撰写回覆或留言

    发布留言必须填写的电子邮件地址不会公开。