本文来自GitHub开源项目

点我跳转

30秒的PHP代码片段

精选的有用PHP片段集合,您可以在30秒或更短的时间内理解这些片段。

数学函数

average

返回两个或多个数字的平均值。

function average(...$items) { $count = count($items); return $count === 0 ? 0 : array_sum($items) / $count; }

Examples

average(1, 2, 3); // 2

factorial(阶乘)

计算一个数的阶乘。

function factorial($n) { if ($n <= 1) { return 1; } return $n * factorial($n - 1); }

Examples

factorial(6); // 720

fibonacci(斐波那契数列)

生成包含斐波那契数列的数组,直到第n项。

function fibonacci($n) { $sequence = [0, 1]; for ($i = 2; $i < $n; $i++) { $sequence[$i] = $sequence[$i-1] + $sequence[$i-2]; } return $sequence; }

Examples

fibonacci(6); // [0, 1, 1, 2, 3, 5]

GCD(最大公约数)

计算两个或多个数之间的最大公约数。

function gcd(...$numbers) { if (count($numbers) > 2) { return array_reduce($numbers, 'gcd'); } $r = $numbers[0] % $numbers[1]; return $r === 0 ? abs($numbers[1]) : gcd($numbers[1], $r); }

Examples

gcd(8, 36); // 4
gcd(12, 8, 32); // 4

isEven

如果给定的数字是偶数,则返回true,否则返回false

function isEven($number) { return ($number % 2) === 0; }

Examples

isEven(4); // true

isPrime

检查提供的整数是否是素数。

function isPrime($number) { $boundary = floor(sqrt($number)); for ($i = 2; $i <= $boundary; $i++) { if ($number % $i === 0) { return false; } } return $number >= 2; }

Examples

isPrime(3); // true

lcm

返回两个或多个数字的最小公倍数。

function lcm(...$numbers) { $ans = $numbers[0]; for ($i = 1, $max = count($numbers); $i < $max; $i++) { $ans = (($numbers[$i] * $ans) / gcd($numbers[$i], $ans)); } return $ans; }

Examples

lcm(12, 7); // 84
lcm(1, 3, 4, 5); // 60

median

返回数字数组的中间值。

function median($numbers) { sort($numbers); $totalNumbers = count($numbers); $mid = floor($totalNumbers / 2); return ($totalNumbers % 2) === 0 ? ($numbers[$mid - 1] + $numbers[$mid]) / 2 : $numbers[$mid]; }

Examples

median([1, 3, 3, 6, 7, 8, 9]); // 6 median([1, 2, 3, 6, 7, 9]); // 4.5

maxN

从提供的数组中返回最大的数的个数。

function maxN($numbers) { $maxValue = max($numbers); $maxValueArray = array_filter($numbers, function ($value) use ($maxValue) { return $maxValue === $value; }); return count($maxValueArray); }

Examples

maxN([1, 2, 3, 4, 5, 5]); // 2 maxN([1, 2, 3, 4, 5]); // 1

minN

从提供的数组中返回最小的数的个数。

function minN($numbers) { $minValue = min($numbers); $minValueArray = array_filter($numbers, function ($value) use ($minValue) { return $minValue === $value; }); return count($minValueArray); }

Examples

minN([1, 1, 2, 3, 4, 5, 5]); // 2 minN([1, 2, 3, 4, 5]); // 1

approximatelyEqual(约等于)

检查两个数字是否近似相等。使用abs()将两个值的绝对值与进行比较。省略第三个参数,以便使用默认值0.001。

function approximatelyEqual($number1, $number2, $epsilon = 0.001) { return abs($number1 - $number2) < $epsilon; }

Examples

approximatelyEqual(10.0, 10.00001); // true
approximatelyEqual(10.0, 10.01); // false

clampNumber

num放在边界值ab指定的包含范围内。如果num在该范围内,则返回num。否则,返回该范围内最近的数字。

function clampNumber($num, $a, $b) { return max(min($num, max($a, $b)), min($a, $b)); }

Examples

clampNumber(2, 3, 5); // 3 clampNumber(1, -1, -5); // -1

转载于:https://www.cnblogs.com/gongchixin/articles/10395516.html

30秒的PHP代码片段-MATH相关推荐

  1. 30秒的PHP代码片段(2)数学 - Math

    本文来自GitHub开源项目 点我跳转 30秒的PHP代码片段 精选的有用PHP片段集合,您可以在30秒或更短的时间内理解这些片段. 数学函数 average 返回两个或多个数字的平均值. funct ...

  2. 30秒的PHP代码片段(3)字符串-String 函数-Function

    本文来自GitHub开源项目 点我跳转 30秒的PHP代码片段 精选的有用PHP片段集合,您可以在30秒或更短的时间内理解这些片段. 字符串 endsWith 判断字符串是否以指定后缀结尾,如果以指定 ...

  3. 30秒的PHP代码片段(1)数组 - Array

    本文来自GitHub开源项目 点我跳转 30秒的PHP代码片段 精选的有用PHP片段集合,您可以在30秒或更短的时间内理解这些片段. 排列 all 如果所提供的函数返回 true 的数量等于数组中成员 ...

  4. web简易计算器代码_30秒内便能学会的30个超实用Python代码片段

    许多人在数据科学.机器学习.web开发.脚本编写和自动化等领域中都会使用Python,它是一种十分流行的语言. Python流行的部分原因在于简单易学. 本文将简要介绍30个简短的.且能在30秒内掌握 ...

  5. 超实用的30 个简短的代码片段(一)

    前言 文的文字及图片来源于网络,仅供学习.交流使用,不具有任何商业用途,版权归原作者所有,如有问题请及时联系我们以作处理. 作者:NicePython PS:如有需要Python学习资料的小伙伴可以加 ...

  6. 30秒内便能学会的30个超实用Python代码片段

    许多人在数据科学.机器学习.web开发.脚本编写和自动化等领域中都会使用Python,它是一种十分流行的语言. Python流行的部分原因在于简单易学. 本文将简要介绍30个简短的.且能在30秒内掌握 ...

  7. 第十一期:30秒内便能学会的30个实用Python代码片段

    许多人在数据科学.机器学习.web开发.脚本编写和自动化等领域中都会使用Python,它是一种十分流行的语言. Python流行的部分原因在于简单易学. 本文将简要介绍30个简短的.且能在30秒内掌握 ...

  8. 30个超实用Python代码片段

    版权声明:本文为博主'读芯术'原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明. 原文链接:https://blog.csdn.net/duxinshuxiaobia ...

  9. 即学即用的30段Python实用代码

    (图片付费下载自视觉中国) 原标题 | 30 Helpful Python Snippets That You Can Learn in 30 Seconds or Less 作 者 | Fatos ...

最新文章

  1. Visual Studio 快捷键
  2. 程序员的身体一定要好
  3. 【性能优化】 之 并行执行
  4. java string底层实现_Java-学习日记(Shell与String底层原理)
  5. 使用绝对布局的方法创建一个登录密码验证的简易窗口
  6. esplise自定义快捷代码补全_【Eclipse】_Eclipse自动补全增强方法 常用快捷键
  7. html表格分页打印样式,vue部分打印(多页自动分页、打印样式自定义、多页打印表格页面顶部带表头)...
  8. qt与JAVA服务器通信_Qt实现的SSL通信客户端和服务器
  9. 软件系统的测试计划,软件系统测试计划-模板
  10. 电子技术_常见贴片电阻封装功率和标称值
  11. java清空表格怎么实现_Java 创建、删除、操作PPT中的表格
  12. arcgis for js4.x自定义图例位置添加到地图并导出
  13. 2020年UI和UE的设计流行趋势揭秘!设计师最爱的是?
  14. OnePlus一加 || 最强出海营销,你不得不服
  15. TCP 三次握手的原因是什么?
  16. HDU 6305 RMQ Similar Sequence(笛卡尔树)
  17. Unity之手机键盘自定义输入栏位置适配不同手机分辨率适配
  18. Android版MT4使用方法,手机版MT4软件基本操作方法
  19. PHP在线照片图片处理PS网站程序源码photoshop网页版
  20. 图片设计素材网址大全

热门文章

  1. 压缩图片上传到数据库
  2. linux内核删不掉,linux 删除内核文件,未能启动,修复方法 CDROM与网络法
  3. php输出json到表格,PHP中把数据库查询结果输出为json格式
  4. mysql备份 where_MySQL备份与还原
  5. 靶场练习第二十二天~vulnhub靶场之Momentum-2
  6. C++多线程快速入门(三):生产者消费者模型与条件变量使用
  7. 使用numpy.tanh()打印矢量/矩阵元素的双曲正切值 使用Python的线性代数
  8. julia矩阵运算_Julia中的复数及其运算
  9. floatvalue 重写_Java Number floatValue()方法与示例
  10. Java FileDescriptor sync()方法与示例