摘要:本文來自開源項(xiàng)目點(diǎn)我跳轉(zhuǎn)秒的代碼片段精選的有用片段集合,您可以在秒或更短的時(shí)間內(nèi)理解這些片段。檢查提供的整數(shù)是否是素?cái)?shù)。約等于檢查兩個(gè)數(shù)字是否近似相等。否則,返回該范圍內(nèi)最近的數(shù)字。相關(guān)文章秒的代碼片段數(shù)組秒的代碼片段字符串函數(shù)
本文來自GitHub開源項(xiàng)目
點(diǎn)我跳轉(zhuǎn)
30秒的PHP代碼片段精選的有用PHP片段集合,您可以在30秒或更短的時(shí)間內(nèi)理解這些片段。數(shù)學(xué)函數(shù) average
返回兩個(gè)或多個(gè)數(shù)字的平均值。
function average(...$items) { $count = count($items); return $count === 0 ? 0 : array_sum($items) / $count; }
Examples
average(1, 2, 3); // 2factorial(階乘)
計(jì)算一個(gè)數(shù)的階乘。
function factorial($n) { if ($n <= 1) { return 1; } return $n * factorial($n - 1); }
Examples
factorial(6); // 720fibonacci(斐波那契數(shù)列)
生成包含斐波那契數(shù)列的數(shù)組,直到第n項(xiàng)。
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(最大公約數(shù))
計(jì)算兩個(gè)或多個(gè)數(shù)之間的最大公約數(shù)。
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); // 4isEven
如果給定的數(shù)字是偶數(shù),則返回true,否則返回false。
function isEven($number) { return ($number % 2) === 0; }
Examples
isEven(4); // trueisPrime
檢查提供的整數(shù)是否是素?cái)?shù)。
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); // truelcm
返回兩個(gè)或多個(gè)數(shù)字的最小公倍數(shù)。
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); // 60median
返回?cái)?shù)字?jǐn)?shù)組的中間值。
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.5maxN
從提供的數(shù)組中返回最大的數(shù)的個(gè)數(shù)。
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]); // 1minN
從提供的數(shù)組中返回最小的數(shù)的個(gè)數(shù)。
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]); // 1approximatelyEqual(約等于)
檢查兩個(gè)數(shù)字是否近似相等。使用abs()將兩個(gè)值的絕對值與進(jìn)行比較。省略第三個(gè)參數(shù),以便使用默認(rèn)值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); // falseclampNumber
將num放在邊界值a和b指定的包含范圍內(nèi)。如果num在該范圍內(nèi),則返回num。否則,返回該范圍內(nèi)最近的數(shù)字。
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
相關(guān)文章:
30秒的PHP代碼片段(1)數(shù)組 - Array
30秒的PHP代碼片段(3)字符串-String & 函數(shù)-Function
文章版權(quán)歸作者所有,未經(jīng)允許請勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。
轉(zhuǎn)載請注明本文地址:http://systransis.cn/yun/30115.html
摘要:排列如果所提供的函數(shù)返回的數(shù)量等于數(shù)組中成員數(shù)量的總和,則函數(shù)返回,否則返回。平鋪數(shù)組將數(shù)組降為一維數(shù)組根據(jù)給定的函數(shù)對數(shù)組的元素進(jìn)行分組。使用給定的回調(diào)篩選數(shù)組。相關(guān)文章秒的代碼片段數(shù)學(xué)秒的代碼片段字符串函數(shù) 本文來自GitHub開源項(xiàng)目 點(diǎn)我跳轉(zhuǎn) 30秒的PHP代碼片段 showImg(https://segmentfault.com/img/bVbnR1I?w=2800&h=12...
摘要:返回給定字符串中的元音數(shù)。使用正則表達(dá)式來計(jì)算字符串中元音的數(shù)量。對字符串的第一個(gè)字母進(jìn)行無頭化,然后將其與字符串的其他部分相加。使用查找字符串中第一個(gè)出現(xiàn)的子字符串的位置。相關(guān)文章秒的代碼片段數(shù)組秒的代碼片段數(shù)學(xué) 本文來自GitHub開源項(xiàng)目 點(diǎn)我跳轉(zhuǎn) 30秒的PHP代碼片段 showImg(https://segmentfault.com/img/bVbnR1I?w=2800&h=...
摘要:所以,我們可以將理解為計(jì)時(shí)結(jié)束是執(zhí)行任務(wù)的必要條件,但是不是任務(wù)是否執(zhí)行的決定性因素。的意思是,必須超過毫秒后,才允許執(zhí)行。 先來回答一下下面這個(gè)問題:對于 setTimeout(function() { console.log(timeout) }, 1000) 這一行代碼,你從哪里可以找到 setTimeout 的源代碼(同樣的問題還會(huì)是你從哪里可以看到 setInterval 的...
摘要:混合使用計(jì)算時(shí)分秒本文出自從零到壹全棧部落作者黎躍春追時(shí)間的人簡介是推出的一個(gè)天挑戰(zhàn)。完整中文版指南及視頻教程在從零到壹全棧部落。效果圖第天挑戰(zhàn)的內(nèi)容主要是如何將一系列的加起來,最終計(jì)算總時(shí)間,總時(shí)間用時(shí)分秒顯示。 Day18 - Reduce、Map混合使用計(jì)算時(shí)分秒 本文出自:從零到壹全棧部落作者:?黎躍春-追時(shí)間的人 簡介:JavaScript30 是 Wes Bos 推出的一個(gè)...
摘要:前言解決運(yùn)動(dòng)和碰撞問題后,我們?yōu)榱俗屵\(yùn)動(dòng)環(huán)境更加自然,需要加入一些環(huán)境因子,比如常見的重力加速度和模擬摩擦力。核心代碼如下完整示例重力加速度演示模擬摩擦力科普阻礙物體相對運(yùn)動(dòng)或相對運(yùn)動(dòng)趨勢的力叫做摩擦力。 前言 解決運(yùn)動(dòng)和碰撞問題后,我們?yōu)榱俗屵\(yùn)動(dòng)環(huán)境更加自然,需要加入一些環(huán)境因子,比如常見的重力加速度和模擬摩擦力。 閱讀本篇前請先打好前面的基礎(chǔ)。 本人能力有限,歡迎牛人共同討論,...
閱讀 1394·2021-11-24 09:38
閱讀 2098·2021-09-22 15:17
閱讀 2402·2021-09-04 16:41
閱讀 3496·2019-08-30 15:56
閱讀 3527·2019-08-29 17:19
閱讀 1983·2019-08-28 18:09
閱讀 1263·2019-08-26 13:35
閱讀 1722·2019-08-23 17:52