PHP 判斷式的效能

更新於 發佈於 閱讀時間約 1 分鐘
判斷式若都是相同的變數,通常用這種方式來跑:
if ($band === 'Megadeth' || $band === 'Metallica' || $band === 'Anthrax){
}

但判斷式用陣列的方式,程式比較漂亮:
if (in_array($band, array(‘Megadeth’, ‘Metallica’, ‘Anthrax’))) {
}

這二種方式的效能不知如何,寫小支程式比比看
比前就知道陣列運算一定效能比較差,不知會差多少

程式如下:
$ ./php test.php
跑了五次,每次判斷一千萬回
f1() 陣列的方式:
5.2219750881195
5.1949019432068
5.2026932239532
5.2330541610718
5.2295169830322
f2() 傳統的方式:
1.7425589561462
1.7586209774017
1.7527120113373
1.7591068744659
1.748927116394
速度差了五倍呀
為什麼會看到廣告
avatar-img
2會員
26內容數
留言0
查看全部
avatar-img
發表第一個留言支持創作者!
WILSON PENG的沙龍 的其他內容
這支 PHP 的小程式,輸入時間,會顯示回傳的時間: 放在 command line 執行,如下: $ php cst.php “2018–04–01 00:00:00 cst” 多了 14 小時,好神奇。 追 PHP Source 好了,看問題在哪。找到這支定義時區的設定: timezonemap
IPv4 Private IP RFC 1918 定義三段 Private IP: 10.0.0.0/8, 172.16.0.0/12, 192.168.0.0/16 一般 NAT 用。這是大家都熟悉的 IP, 後來又多了一些 IP 可以用: RFC 6598 新增的 Private IP: 100
我喜歡撫摸著她的感覺,手指在她身上游移….
新界粉嶺 孔明下降之乩語 我不知道預言是什麼狀況,但是看到近九十年前的可考鸞文,覺得真是神奇。有些預言完全命中,有些預言似乎不準,有些則待日後再回頭看有沒有猜對。
某天和同事 Plasma 聊起 RFC 文件。聊到今年四月一日的三篇文件,其中的 RFC 3092 作者之一就是在開放社群中赫赫有名的 Eric S. Raymond 。就算是看在 E. Raymond 的面子上,加上又是提到很多電腦方面資料常出現的 FOO......
這個故事像笑傲江湖裡的曲洋為了找廣陵散, 挖到蔡邕墓才找到。 蘇打飲料偵探團從舊的手稿裡找到疑似可口可樂配方。 資料來源: http://newsfeed.time.com/2011/02/15/is-this-the-real-thing-coca-colas-secret-formula-dis
這支 PHP 的小程式,輸入時間,會顯示回傳的時間: 放在 command line 執行,如下: $ php cst.php “2018–04–01 00:00:00 cst” 多了 14 小時,好神奇。 追 PHP Source 好了,看問題在哪。找到這支定義時區的設定: timezonemap
IPv4 Private IP RFC 1918 定義三段 Private IP: 10.0.0.0/8, 172.16.0.0/12, 192.168.0.0/16 一般 NAT 用。這是大家都熟悉的 IP, 後來又多了一些 IP 可以用: RFC 6598 新增的 Private IP: 100
我喜歡撫摸著她的感覺,手指在她身上游移….
新界粉嶺 孔明下降之乩語 我不知道預言是什麼狀況,但是看到近九十年前的可考鸞文,覺得真是神奇。有些預言完全命中,有些預言似乎不準,有些則待日後再回頭看有沒有猜對。
某天和同事 Plasma 聊起 RFC 文件。聊到今年四月一日的三篇文件,其中的 RFC 3092 作者之一就是在開放社群中赫赫有名的 Eric S. Raymond 。就算是看在 E. Raymond 的面子上,加上又是提到很多電腦方面資料常出現的 FOO......
這個故事像笑傲江湖裡的曲洋為了找廣陵散, 挖到蔡邕墓才找到。 蘇打飲料偵探團從舊的手稿裡找到疑似可口可樂配方。 資料來源: http://newsfeed.time.com/2011/02/15/is-this-the-real-thing-coca-colas-secret-formula-dis
你可能也想看
Google News 追蹤
Thumbnail
現代社會跟以前不同了,人人都有一支手機,只要打開就可以獲得各種資訊。過去想要辦卡或是開戶就要跑一趟銀行,然而如今科技快速發展之下,金融App無聲無息地進到你生活中。但同樣的,每一家銀行都有自己的App時,我們又該如何選擇呢?(本文係由國泰世華銀行邀約) 今天我會用不同角度帶大家看這款國泰世華CUB
Thumbnail
嘿,大家新年快樂~ 新年大家都在做什麼呢? 跨年夜的我趕工製作某個外包設計案,在工作告一段落時趕上倒數。 然後和兩個小孩過了一個忙亂的元旦。在深夜時刻,看到朋友傳來的解籤網站,興致勃勃熬夜體驗了一下,覺得非常好玩,或許有人玩過了,但還是想寫上來分享紀錄一下~
Thumbnail
題目敘述 Sort Array by Increasing Frequency Leetcode #1636 給定一個輸入陣列,請依照出現頻率的多寡從低頻到高頻排列陣列元素。 如果有兩個元素的出現頻率相同,依照元素大小從大到小排列。 測試範例 Example 1: Input: nums
Thumbnail
在這一章中,我們介紹了PHP中的流程控制語句,包括if、else if、else、三元運算子、switch語句、for迴圈、foreach迴圈、while迴圈、do-while迴圈、循環嵌套以及控制迴圈的語句如break、continue、goto和return。
Thumbnail
本章節介紹了PHP中的各種運算符,包括算數運算子、比較運算子、賦值運算子和位元運算子。還討論了運算子的優先等級及其在表達式中的應用。了解這些運算符及其優先等級可以幫助編寫更高效和準確的PHP代碼。
Thumbnail
在本節中,我們介紹了PHP的基本語法,包括如何在HTML中嵌入PHP代碼,PHP腳本的執行順序,以及多種註解方式。我們還學習了如何定義和使用變數,包括單個變數和多個變數的賦值方法。這些基礎知識將幫助你開始使用PHP進行Web開發。
Thumbnail
給定一個輸入非負整樹陣列nums,請找出k值,使得陣列中恰好有k個元素大於等於 k。如果無解,回傳-1。尋找k值的方法包括排序法和二分搜尋法,時間複雜度都為O(n log n),空間複雜度為O(1)。關鍵知識點是當解空間具有遞增或遞減的性質時,可以用二分搜尋法加快搜尋效率。
Thumbnail
主力的布局過程 往往耗費長期時間 手法又細膩且隱密 等到受不了 他就默默噴發 分點解析搭配技術型態也常能搭上主力的順風車 跟著勝利券商操作 勝率也能大大提升! 重視籌碼分析 基本面跟技術面需要去研究線圖指標或財報等財務資訊 但籌碼只要花點時間研究或許就能看出端倪 改變一
Thumbnail
分享在網路上看到的陣列題目。通常 for...of 的 value 是陣列中的每個值,那如果我們在迭代中對陣列操作會發生什麼事? 題目來源:https://x.com/_jayphelps/status/1774640511158022335?s=20
Thumbnail
由於開發多個專案的時候,頻繁切換本地環境的PHP版本實在太麻煩,於是想要可以直接使用指令就完成切換的功能,於是有了這篇文章。
Thumbnail
題目敘述 題目會給定我們兩個整數陣列作為輸入nums1, nums2,要求我們找出兩個陣列的差異值。 找出在nums1但是不在nums2的元素,以陣列的形式放在answer[0]輸出。 找出在nums2但是不在nums1的元素,以陣列的形式放在answer[1]輸出。 題目的原文敘述
Thumbnail
現代社會跟以前不同了,人人都有一支手機,只要打開就可以獲得各種資訊。過去想要辦卡或是開戶就要跑一趟銀行,然而如今科技快速發展之下,金融App無聲無息地進到你生活中。但同樣的,每一家銀行都有自己的App時,我們又該如何選擇呢?(本文係由國泰世華銀行邀約) 今天我會用不同角度帶大家看這款國泰世華CUB
Thumbnail
嘿,大家新年快樂~ 新年大家都在做什麼呢? 跨年夜的我趕工製作某個外包設計案,在工作告一段落時趕上倒數。 然後和兩個小孩過了一個忙亂的元旦。在深夜時刻,看到朋友傳來的解籤網站,興致勃勃熬夜體驗了一下,覺得非常好玩,或許有人玩過了,但還是想寫上來分享紀錄一下~
Thumbnail
題目敘述 Sort Array by Increasing Frequency Leetcode #1636 給定一個輸入陣列,請依照出現頻率的多寡從低頻到高頻排列陣列元素。 如果有兩個元素的出現頻率相同,依照元素大小從大到小排列。 測試範例 Example 1: Input: nums
Thumbnail
在這一章中,我們介紹了PHP中的流程控制語句,包括if、else if、else、三元運算子、switch語句、for迴圈、foreach迴圈、while迴圈、do-while迴圈、循環嵌套以及控制迴圈的語句如break、continue、goto和return。
Thumbnail
本章節介紹了PHP中的各種運算符,包括算數運算子、比較運算子、賦值運算子和位元運算子。還討論了運算子的優先等級及其在表達式中的應用。了解這些運算符及其優先等級可以幫助編寫更高效和準確的PHP代碼。
Thumbnail
在本節中,我們介紹了PHP的基本語法,包括如何在HTML中嵌入PHP代碼,PHP腳本的執行順序,以及多種註解方式。我們還學習了如何定義和使用變數,包括單個變數和多個變數的賦值方法。這些基礎知識將幫助你開始使用PHP進行Web開發。
Thumbnail
給定一個輸入非負整樹陣列nums,請找出k值,使得陣列中恰好有k個元素大於等於 k。如果無解,回傳-1。尋找k值的方法包括排序法和二分搜尋法,時間複雜度都為O(n log n),空間複雜度為O(1)。關鍵知識點是當解空間具有遞增或遞減的性質時,可以用二分搜尋法加快搜尋效率。
Thumbnail
主力的布局過程 往往耗費長期時間 手法又細膩且隱密 等到受不了 他就默默噴發 分點解析搭配技術型態也常能搭上主力的順風車 跟著勝利券商操作 勝率也能大大提升! 重視籌碼分析 基本面跟技術面需要去研究線圖指標或財報等財務資訊 但籌碼只要花點時間研究或許就能看出端倪 改變一
Thumbnail
分享在網路上看到的陣列題目。通常 for...of 的 value 是陣列中的每個值,那如果我們在迭代中對陣列操作會發生什麼事? 題目來源:https://x.com/_jayphelps/status/1774640511158022335?s=20
Thumbnail
由於開發多個專案的時候,頻繁切換本地環境的PHP版本實在太麻煩,於是想要可以直接使用指令就完成切換的功能,於是有了這篇文章。
Thumbnail
題目敘述 題目會給定我們兩個整數陣列作為輸入nums1, nums2,要求我們找出兩個陣列的差異值。 找出在nums1但是不在nums2的元素,以陣列的形式放在answer[0]輸出。 找出在nums2但是不在nums1的元素,以陣列的形式放在answer[1]輸出。 題目的原文敘述