摘要:源碼年來(lái)都沒(méi)有動(dòng)手跑一跑內(nèi)置的函數(shù)。這一跑才發(fā)現(xiàn)平時(shí)自鳴得意的那些算法是有原生實(shí)現(xiàn)的,頓時(shí)有一種啪啪啪被打臉的感覺(jué)。希望亡羊補(bǔ)牢,為時(shí)不晚吧。下面是從里摘抄的歸納對(duì)比片段,希望對(duì)你有所啟發(fā)。
Demo源碼
3年來(lái)都沒(méi)有動(dòng)手跑一跑PHP內(nèi)置的Array函數(shù)。
這一跑才發(fā)現(xiàn)平時(shí)自鳴得意的那些算法是有原生實(shí)現(xiàn)的,頓時(shí)有一種啪啪啪被打臉的感覺(jué)。
希望亡羊補(bǔ)牢,為時(shí)不晚吧。
下面是從Demo里摘抄的歸納對(duì)比片段,希望對(duì)你有所啟發(fā)。
祝好。
/** * 8個(gè)計(jì)算數(shù)組差集的函數(shù) * todo u有什么用? * 只對(duì)比key: * array_diff_key() 通過(guò)對(duì)比key得到數(shù)組的差集 * array_diff_ukey() 通過(guò)對(duì)比key獲得數(shù)組的差集,key計(jì)算使用用戶自定義函數(shù) * 只對(duì)比value: * array_diff() 通過(guò)對(duì)比value得到數(shù)組的差集 * array_udiff() 通過(guò)對(duì)比value獲得數(shù)組的差集,value計(jì)算使用用戶自定義函數(shù) * 同時(shí)對(duì)比key和value: * array_diff_assoc() 同時(shí)對(duì)比key和value獲得數(shù)組的差集 * array_diff_uassoc() 同時(shí)對(duì)比key和value獲得數(shù)組的差集,key計(jì)算使用用戶自定義函數(shù) * array_udiff_assoc() 同時(shí)對(duì)比key和value獲得數(shù)組的差集,value計(jì)算使用用戶自定義函數(shù) * array_udiff_uassoc() 同時(shí)對(duì)比key和value獲得數(shù)組的差集,key和value計(jì)算使用用戶自定義函數(shù) * diff代表對(duì)比value * 后面跟key,代表對(duì)比key * 后面跟assoc,代表同時(shí)對(duì)比key和value * udiff表示value對(duì)比使用自定義函數(shù) * ukey表示key對(duì)比使用自定義函數(shù) * uassoc表示key對(duì)比使用自定義函數(shù) */ /** * 8個(gè)計(jì)算數(shù)組交集的函數(shù) * todo u有什么用? * 只對(duì)比key: * array_intersect_key() 通過(guò)對(duì)比key得到數(shù)組的交集 * array_intersect_ukey() 通過(guò)對(duì)比key獲得數(shù)組的交集,key計(jì)算使用用戶自定義函數(shù) * 只對(duì)比value: * array_intersect() 通過(guò)對(duì)比value得到數(shù)組的交集 * array_uintersect() 通過(guò)對(duì)比value獲得數(shù)組的交集,value計(jì)算使用用戶自定義函數(shù) * 同時(shí)對(duì)比key和value: * array_intersect_assoc() 同時(shí)對(duì)比key和value獲得數(shù)組的交集 * array_intersect_uassoc() 同時(shí)對(duì)比key和value獲得數(shù)組的交集,key計(jì)算使用用戶自定義函數(shù) * array_uintersect_assoc() 同時(shí)對(duì)比key和value獲得數(shù)組的交集,value計(jì)算使用用戶自定義函數(shù) * array_uintersect_uassoc() 同時(shí)對(duì)比key和value獲得數(shù)組的交集,key和value計(jì)算使用用戶自定義函數(shù) * diff代表對(duì)比value * 后面跟key,代表對(duì)比key * 后面跟assoc,代表同時(shí)對(duì)比key和value * udiff表示value對(duì)比使用自定義函數(shù) * ukey表示key對(duì)比使用自定義函數(shù) * uassoc表示key對(duì)比使用自定義函數(shù) * 以下只展示3個(gè)求交集最基礎(chǔ)的函數(shù),另外5個(gè)省略 */ /** * 一共9個(gè)排序函數(shù) * 只對(duì)key排序 * ksort * krsort * usort * 只對(duì)value排序 * sort * rsort * usort * 同時(shí)對(duì)key和value排序 * asort * arsort * uasort * k 按k排序 * r 倒序 * a 同時(shí)對(duì)key和value排序 * u 按用戶自定義函數(shù)排序 */ e.g. /** * array_filter * 用回調(diào)函數(shù)過(guò)濾數(shù)組中的單元 * 1. 返回結(jié)果保留key * 2. 三個(gè)參數(shù),input_array、callback、flag * 3. input_array為要過(guò)濾的函數(shù) * 4. callback為用戶自定義的過(guò)濾函數(shù) * 5. flag有兩個(gè)值 * ARRAY_FILTER_USE_BOTH: 對(duì)應(yīng)的callback有兩個(gè)參數(shù) * ARRAY_FILTER_USE_KEY: 對(duì)應(yīng)的callback只有一個(gè)參數(shù) * 6. 此函數(shù)使用方式非常靈活,可以做許多有趣的事情,比如去掉數(shù)組中重復(fù)的值和并且 * @return array * @author [email protected] */ $arrayFilter = function () { $input_array = ["foo", false, -1, null, "", [], 0, 0.00]; $filtered_array = array_filter($input_array, function ($v, $k) { return $v; }, ARRAY_FILTER_USE_BOTH); return $filtered_array; }; self::printR($arrayFilter);
文章版權(quán)歸作者所有,未經(jīng)允許請(qǐng)勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。
轉(zhuǎn)載請(qǐng)注明本文地址:http://systransis.cn/yun/29075.html
摘要:繼承性子標(biāo)簽會(huì)繼承父標(biāo)簽樣式優(yōu)先級(jí)行內(nèi)樣式選擇器類(lèi)選擇器標(biāo)簽選擇器通配符繼承機(jī)制創(chuàng)建了的元素中,在垂直方向上的會(huì)發(fā)生重疊。 技能考察: 一、關(guān)于Html 1、html語(yǔ)義化標(biāo)簽的理解; 結(jié)構(gòu)化的理解; 能否寫(xiě)出簡(jiǎn)潔的html結(jié)構(gòu); SEO優(yōu)化 a、理解:根據(jù)內(nèi)容的結(jié)構(gòu)化(內(nèi)容語(yǔ)義化),選擇合適的標(biāo)簽(代碼語(yǔ)義化)便于開(kāi)發(fā)者閱讀和寫(xiě)出更優(yōu)雅的代碼的同時(shí) 讓瀏覽器的爬蟲(chóng)和...
摘要:繼承性子標(biāo)簽會(huì)繼承父標(biāo)簽樣式優(yōu)先級(jí)行內(nèi)樣式選擇器類(lèi)選擇器標(biāo)簽選擇器通配符繼承機(jī)制創(chuàng)建了的元素中,在垂直方向上的會(huì)發(fā)生重疊。 技能考察: 一、關(guān)于Html 1、html語(yǔ)義化標(biāo)簽的理解; 結(jié)構(gòu)化的理解; 能否寫(xiě)出簡(jiǎn)潔的html結(jié)構(gòu); SEO優(yōu)化 a、理解:根據(jù)內(nèi)容的結(jié)構(gòu)化(內(nèi)容語(yǔ)義化),選擇合適的標(biāo)簽(代碼語(yǔ)義化)便于開(kāi)發(fā)者閱讀和寫(xiě)出更優(yōu)雅的代碼的同時(shí) 讓瀏覽器的爬蟲(chóng)和...
摘要:繼承性子標(biāo)簽會(huì)繼承父標(biāo)簽樣式優(yōu)先級(jí)行內(nèi)樣式選擇器類(lèi)選擇器標(biāo)簽選擇器通配符繼承機(jī)制創(chuàng)建了的元素中,在垂直方向上的會(huì)發(fā)生重疊。 技能考察: 一、關(guān)于Html 1、html語(yǔ)義化標(biāo)簽的理解; 結(jié)構(gòu)化的理解; 能否寫(xiě)出簡(jiǎn)潔的html結(jié)構(gòu); SEO優(yōu)化 a、理解:根據(jù)內(nèi)容的結(jié)構(gòu)化(內(nèi)容語(yǔ)義化),選擇合適的標(biāo)簽(代碼語(yǔ)義化)便于開(kāi)發(fā)者閱讀和寫(xiě)出更優(yōu)雅的代碼的同時(shí) 讓瀏覽器的爬蟲(chóng)和...
摘要:目前在前端開(kāi)發(fā)所占的比重越來(lái)越高,在我們學(xué)習(xí)和開(kāi)發(fā)的過(guò)程中都會(huì)去使用。下面把程序員雷雪松對(duì)的知識(shí)點(diǎn)總結(jié)和歸納分享給大家。過(guò)濾對(duì)同胞元素的搜索。將匹配元素集合縮減為集合中的最后一個(gè)元素。返回指定元素相對(duì)于其他指定元素的位置。 jQuery目前在Web前端開(kāi)發(fā)所占的比重越來(lái)越高,在我們jQuery學(xué)習(xí)和開(kāi)發(fā)的過(guò)程中都會(huì)去使用。jQuery幫我們解決了瀏覽器之間JS一些不兼容的地方和簡(jiǎn)化了原...
閱讀 3580·2021-08-02 13:41
閱讀 2472·2019-08-30 15:56
閱讀 1530·2019-08-30 11:17
閱讀 1190·2019-08-29 15:18
閱讀 592·2019-08-29 11:10
閱讀 2684·2019-08-26 13:52
閱讀 522·2019-08-26 13:22
閱讀 2965·2019-08-23 15:41