欧美色视频免费_2018亚洲男人天堂_好骚综合在线_久久久久久久久国产_日韩精品久久久久久久九岛_国产成年人视频

推廣 熱搜: 廣場  Java  app  Word  營業  微信公眾號  北京代理記賬  商城  代理記賬  商標交易 

php怎么找數組中的最大值 php數組原理?

   2023-05-06 企業服務招財貓260
核心提示:php數組原理?PHP數組的底層實現是分散列表,也稱為hashTablPHP多維數組根據值搜索對應的鍵,你一般用什么辦法?引言我們講解了很多種PHP數組操作的引用場景。今天我們接著分享這方面的知識,說

php數組原理?

PHP數組的底層實現是分散列表,也稱為hashTabl

PHP多維數組根據值搜索對應的鍵,你一般用什么辦法?

引言我們講解了很多種PHP數組操作的引用場景。今天我們接著分享這方面的知識,說一說對于多維數組,如何根據值搜索,并返回數組的索引值。

學習時間最開始我們習慣于跟隨本能寫代碼,下意識地開始用for循環,對數組進行遍歷,然后挨個比對,如果值相等,就返回索引值,如果沒有匹配上,就是不存在。

假如原始數組是如下圖一樣的關聯數組。

程序邏輯很簡單,我們使用代碼實現一下:

functionsearchForId($id,$array){foreach($arrayas$keygt$val){if($val[uid]$id){return$key}}returnnull}

這個函數接收一個值,與數組,如果匹配上就將數組的索引返回,如果不存在則返回null。因為第一層結構沒有手動指定索引值,所以默認是從0開始的數字索引。

使用起來是這樣的:

$idsearchForId(100,$userdb)

執行結束后,輸出應該為0。

當然了,上面寫的函數具有通用性,對于特殊的案例,我們應該隨機應變。對于上述$userdb關聯數組的結構,顯然,使用PHP內置的函數操作起來,更為直觀和快捷。

我們只需要先把uid列的元素全部取出,因為上層結構是默認數字索引,所以此處不用手動指定索引值;然后,在提取的數組中搜索值,使用array_search執行返回鍵。

總結為代碼,就一行:

$keyarray_search(100,array_column($userdb,uid))

執行結果跟上面的searchForId函數一致。

深入討論上面的函數和第二個解決方有問題,就是僅僅返回了第一個匹配的鍵。像下面這樣寫,肯定問題不大:

$keyarray_search(40489,array_column($userdb,uid))

但是如果在數組中有重復的值,而uid列也不唯一,要把所有的匹配結果都返回,該怎么做呢?不會又要修改searchForId函數,重新倒騰?

其實大可不必,PHP提供了這樣的功能,只需改用array_keys函數即可:

$keysarray_keys(array_column($userdb,uid),40489)

你肯定經常使用array_keys函數用于返回整個數組的鍵,但是它的第二個參數,恰恰是在指定時,擁有可搜索的功能。這確實有些冷門。

再進一步。

上面返回的是數組對應的鍵,那如果想要鍵和值一并關聯返回,一行代碼能搞定嗎?可以的,修改一下就行了,使用array_combine函數將鍵和值組裝起來返回:

$keysarray_keys(array_combine(array_keys($userdb),array_column($userdb,uid)),40489)

寫在最后本文通過特定的數組搜索需求,延伸到手動造輪子,把特殊的特性推向一般,并使用PHP內置的數組處理函數,進行功能裁切,簡潔而高效。善用數組函數是硬功夫。

Happycoding:_)

我是@程序員小助手,持續分享編程知識,歡迎關注。

 
反對 0舉報 0 收藏 0 打賞 0評論 0
 
更多>同類資訊
推薦圖文
推薦資訊
點擊排行
合作伙伴
網站首頁  |  關于我們  |  聯系方式  |  使用協議  |  版權隱私  |  網站地圖  |  排名推廣  |  廣告服務  |  積分換禮  |  網站留言  |  RSS訂閱  |  違規舉報  |  冀ICP備2023006999號-8
 
主站蜘蛛池模板: 精品国产91乱码一区二区三区 | 狠狠久久综合 | 午夜精品久久 | 日韩在线观看精品 | 中文字幕不卡在线 | 日韩高清在线观看 | 久久嫩草精品久久久精品才艺表演 | 日本亚洲精品成人欧美一区 | 精品性高朝久久久久久久 | 亚洲精品久久久久国产 | 欧美精品成人一区二区在线观看 | 免费淫片 | 久国产精品| 日日精品| 国产青草视频 | 成人h视频在线观看 | 欧美精品乱码久久久久久按摩 | 免费精品视频 | 国产精品久久久久久久午夜 | 国产精品成人一区二区网站软件 | 国产精品一卡二卡 | 色中文字幕在线 | 手机看片福利视频 | 99国产欧美 | 久热这里只有精品6 | 高清国产一区 | 人人插人人爽 | 欧美日韩不卡 | 国产精品美女久久久久高潮 | 97av视频| 久久麻豆| 91一区 | 激情五月婷婷综合网 | 三区av | 欧美一区二区三区影视 | 免费在线观看黄色av | 一级电影a| 一区二区毛片 | 粉嫩精品一区二区三区在线观看 | 成人高清视频免费观看 | 色婷丁香 |