久久精品国产99国产精品,农村大炕弄老女人,人马配速90分钟,香蕉成人伊视频在线观看

php 給數(shù)組添加鍵值 php處理二維數(shù)組的方法是什么?

php處理二維數(shù)組的方法是什么?傻小子,一維怎么處理就是二維怎么處理。一維數(shù)組用的是for loop或者foreach,所以二維是一套for bai(雖然這樣會(huì)慢一點(diǎn),怎么能更快需要根據(jù)實(shí)際情況來(lái)考慮

php處理二維數(shù)組的方法是什么?

傻小子,一維怎么處理就是二維怎么處理。一維數(shù)組用的是for loop或者foreach,所以二維是一套for bai(雖然這樣會(huì)慢一點(diǎn),怎么能更快需要根據(jù)實(shí)際情況來(lái)考慮),所以代碼就不用多說(shuō)了:

var arr [

【張三,21歲,實(shí)習(xí)生】,

[李四,25歲,工程師],

[王武,31歲,項(xiàng)目經(jīng)理]

]

for(var i 0 i lt arr.length i ){

for(var j 0 j lt arr[i].長(zhǎng)度j ){

console.log(arr[i][j])

}

}

看看結(jié)果:

(其實(shí)這是js的Demo。我覺(jué)得寫(xiě)js控制臺(tái)比PHP echo更方便,實(shí)現(xiàn)思路其實(shí)是一樣的。)

PHP多維數(shù)組根據(jù)值搜索對(duì)應(yīng)的鍵,你一般用什么辦法?

簡(jiǎn)介我們已經(jīng)解釋了很多PHP數(shù)組操作的參考場(chǎng)景。今天,我們將分享這些知識(shí),并討論如何按值搜索并返回多維數(shù)組的索引值。

在學(xué)習(xí)時(shí)間的初期,我們習(xí)慣按照自己的本能去寫(xiě)代碼,下意識(shí)的開(kāi)始使用for循環(huán)來(lái)遍歷數(shù)組,然后一個(gè)一個(gè)的比較。如果值相等,我們將返回索引值。如果不匹配,就不存在。

如果原始數(shù)組是如下所示的關(guān)聯(lián)數(shù)組。

程序邏輯非常簡(jiǎn)單。讓 讓我們用代碼來(lái)實(shí)現(xiàn)它:

函數(shù)searchForId($id,$ array){ foreach($ array as $ key gt $ val){ if($ val[uid]$ id){ return $ key } }返回null }

這個(gè)函數(shù)接收一個(gè)值和一個(gè)數(shù)組,如果匹配就返回?cái)?shù)組的索引,如果不存在就返回null。因?yàn)榈谝患?jí)結(jié)構(gòu)沒(méi)有手動(dòng)指定索引值,所以它默認(rèn)為從0開(kāi)始的數(shù)字索引。

它是這樣工作的:

$id searchForId(100,$userdb)

執(zhí)行之后,輸出應(yīng)該是0。

當(dāng)然,上面寫(xiě)的函數(shù)都是通用的,特殊情況要隨機(jī)應(yīng)變。對(duì)于上面提到的$userdb關(guān)聯(lián)數(shù)組的結(jié)構(gòu),用PHP的內(nèi)置函數(shù)來(lái)操作顯然更直觀更快捷。

我們只需要先取出uid列的所有元素,因?yàn)樯蠈咏Y(jié)構(gòu)是默認(rèn)的數(shù)值索引,所以這里不需要手動(dòng)指定索引值;然后,在提取的數(shù)組中搜索值,并使用array_search執(zhí)行return鍵。

總結(jié)成代碼,就一行:

$key array_search(100,array_column($userdb,uid))

保持行結(jié)果與上面的searchForId函數(shù)一致。

深入討論上面的函數(shù)和第二種解決方案會(huì)有一個(gè)問(wèn)題,就是只返回第一個(gè)匹配的鍵。你這樣寫(xiě),肯定沒(méi)問(wèn)題:

$key array_search(40489,array_column($userdb,uid))

但是如果數(shù)組中有重復(fù)值,uid列不是唯一的,該怎么做才能返回所有匹配的結(jié)果呢?你贏了。;你不必再修改searchForId函數(shù)了,是嗎?

事實(shí)上,你沒(méi)有。;不需要。PHP提供了這樣一個(gè)函數(shù),用array_keys函數(shù)代替就可以了:

$ keys array _ keys(array _ column $ userdb,uid),40489

您必須經(jīng)常使用array_keys函數(shù)來(lái)返回整個(gè)數(shù)組的鍵,但是它的第二個(gè)參數(shù)(如果指定的話)有一個(gè)可搜索的函數(shù)。這真的有點(diǎn)不得人心。

更進(jìn)一步。

上面返回的是數(shù)組對(duì)應(yīng)的鍵,那么如果想把鍵和值一起返回,一行代碼可以嗎?可以,修改一下就可以了。使用array_combine函數(shù)組合鍵和值并返回它們:

$ keys array _ keys(array _ combine(array _ keys($ userdb),array_column($us:_)

我是@程序員 的助手,我繼續(xù)分享我的編程知識(shí)。歡迎關(guān)注。

主站蜘蛛池模板: 昌吉市| 邯郸县| 高碑店市| 兴化市| 永善县| 泸溪县| 乌鲁木齐县| 蕉岭县| 莱芜市| 永城市| 芮城县| 彭阳县| 汉阴县| 西昌市| 平阳县| 紫云| 安多县| 嘉禾县| 江都市| 文昌市| 乌兰浩特市| 蒙阴县| 黄大仙区| 桃源县| 来宾市| 丹巴县| 安宁市| 四川省| 黔西县| 慈利县| 西畴县| 隆安县| 巢湖市| 安塞县| 义乌市| 武陟县| 台中县| 托克托县| 安徽省| 本溪| 崇州市|