电脑知识|欧美黑人一区二区三区|软件|欧美黑人一级爽快片淫片高清|系统|欧美黑人狂野猛交老妇|数据库|服务器|编程开发|网络运营|知识问答|技术教程文章 - 好吧啦网

您的位置:首頁(yè)技術(shù)文章
文章詳情頁(yè)

10個(gè)必須掌握的PHP關(guān)聯(lián)數(shù)組使用技巧

瀏覽:128日期:2022-09-12 11:10:08

在使用 PHP 進(jìn)行開發(fā)的過程中,或早或晚,您會(huì)需要?jiǎng)?chuàng)建許多相似的變量,這時(shí)候你可以把數(shù)據(jù)作為元素存儲(chǔ)在數(shù)組中。數(shù)組中的元素都有自己的 ID,因此可以方便地訪問它們。

關(guān)聯(lián)數(shù)組

關(guān)聯(lián)數(shù)組,它的每個(gè) ID 鍵都關(guān)聯(lián)一個(gè)值。在存儲(chǔ)有關(guān)具體命名的值的數(shù)據(jù)時(shí),使用數(shù)值數(shù)組不是最好的做法。通過關(guān)聯(lián)數(shù)組,我們可以把值作為鍵,并向它們賦值。

這里介紹10個(gè)操作PHP關(guān)聯(lián)數(shù)組的技巧,熟練運(yùn)用能幫助你提高開發(fā)效率。

1、添加數(shù)組元素

PHP是一種弱類型語(yǔ)言,這意味著你不需要顯示聲明一個(gè)數(shù)組及其大小,相反,你可以同時(shí)聲明并填充數(shù)組。

$capitals = array( ’Alabama’ => ’Montgomery’, ’Alaska’ => ’Juneau’, ’Arizona’ => ’Phoenix’ );

額外的數(shù)組元素可以象下面這樣追加:

$capitals[’Arkansas’] = ’Little Rock’;

如果你正在處理數(shù)字索引數(shù)組,你可能想使用顯示命名的函數(shù)前置和追加元素,如array_push()和array_unshift()函數(shù),但這些函數(shù)不能操作關(guān)聯(lián)數(shù)組。

2、刪除數(shù)組元素

如果要從數(shù)組中刪除一個(gè)元素,請(qǐng)使用unset()函數(shù),如:

unset($capitals[’California’]);

使用數(shù)字索引數(shù)組時(shí),刪除數(shù)組元素的辦法更多,更靈活,可以使用array_shift()和array_pop()函數(shù)分別從數(shù)組的開頭和末尾刪除一個(gè)元素。

3、交換鍵和值

假設(shè)你想創(chuàng)建一個(gè)名叫$states的新數(shù)組,使用州府作為索引,使用州名作為關(guān)聯(lián)值,使用array_flip()函數(shù)很容易完成這個(gè)任務(wù)。

$capitals = array( ’Alabama’ => ’Montgomery’, ’Alaska’ => ’Juneau’, ’Arizona’ => ’Phoenix’ ); $states = array_flip($capitals); // $states = array( // ’Montgomery’ => string ’Alabama’, // ’Juneau’ => string ’Alaska’, // ’Phoenix’ => string ’Arizona’ // ); 4、合并數(shù)組

假設(shè)前面的數(shù)組由一個(gè)基于Web的“FlashCard”服務(wù)使用,你想提供一種方法測(cè)試學(xué)生對(duì)美國(guó)各州首府的掌握情況,你可以使用array_merge()函數(shù)合并包含州和首府的數(shù)組。

$stateCapitals = array( ’Alabama’ => ’Montgomery’, ’Alaska’ => ’Juneau’, ’Arizona’ => ’Phoenix’ ); $countryCapitals = array ( ’Australia’ => ’Canberra’, ’Austria’ => ’Vienna’, ’Algeria’ => ’Algiers’ ); $capitals = array_merge($stateCapitals, $countryCapitals); 5、編輯數(shù)組值

假設(shè)在數(shù)組中的數(shù)據(jù)包含大小寫錯(cuò)誤,在插入到數(shù)據(jù)庫(kù)之前,你想糾正這些錯(cuò)誤,你可以使用array_map()函數(shù)給每個(gè)數(shù)組元素應(yīng)用一個(gè)回調(diào)。

function capitalize($element) { $element = strtolower($element); return ucwords($element); } $capitals = array( ’Alabama’ => ’montGoMEry’, ’Alaska’ => ’Juneau’, ’Arizona’ => ’phoeniX’ ); $capitals = array_map('capitalize', $capitals); 6、按鍵對(duì)數(shù)組排序

FlashCard程序常常使用各種排序,如按字母順序排序,你可以使用ksort()函數(shù)按鍵對(duì)關(guān)聯(lián)數(shù)組進(jìn)行排序。

$capitals = array( ’Arizona’ => ’Phoenix’, ’Alaska’ => ’Juneau’, ’Alabama’ => ’Montgomery’ ); ksort($capitals);

因?yàn)閿?shù)組是通過參數(shù)傳遞給ksort()函數(shù)的,意味著你不再需要將排序結(jié)果分配給另一個(gè)變量。

7、隨機(jī)數(shù)組排序

在FlashCard程序中還涉及到另一種隨機(jī)排序技術(shù),這時(shí)你要使用shuffle()函數(shù)實(shí)現(xiàn)數(shù)組項(xiàng)目的隨機(jī)排序。

$capitals = array( ’Arizona’ => ’Phoenix’, ’Alaska’ => ’Juneau’, ’Alabama’ => ’Montgomery’ ); shuffle($capitals);

如果不需要打亂數(shù)組順序,你只是想隨機(jī)選擇一個(gè)值,那么使用array_rand()函數(shù)即可。

8、確定鍵和值是否存在

你可以使用in_array()函數(shù)確定一個(gè)數(shù)組元素是否存在。

$capitals = array( ’Arizona’ => ’Phoenix’, ’Alaska’ => ’Juneau’, ’Alabama’ => ’Montgomery’ ); if (in_array('Juneau', $capitals)) { echo 'Exists!'; } else { echo 'Does not exist!'; }

很少有人知道這個(gè)函數(shù)也可以確定一個(gè)數(shù)組鍵是否存在,在這一點(diǎn)上,它和array_key_exists()函數(shù)的功能一樣。

$capitals = array( ’Arizona’ => ’Phoenix’, ’Alaska’ => ’Juneau’, ’Alabama’ => ’Montgomery’ ); if (array_key_exists('Alaska', $capitals)) { echo 'Key exists!'; } else { echo 'Key does not exist!'; } 9、搜索數(shù)組

你可能想搜索數(shù)組資源,這樣用戶就可以方便地用一個(gè)特定的州府檢索關(guān)聯(lián)的州,可以通過array_search()函數(shù)實(shí)現(xiàn)數(shù)組搜索。

$capitals = array( ’Arizona’ => ’Phoenix’, ’Alaska’ => ’Juneau’, ’Alabama’ => ’Montgomery’ ); $state = array_search(’Juneau’, $capitals); // $state = ’Alaska’ 10、標(biāo)準(zhǔn)PHP庫(kù)

標(biāo)準(zhǔn)PHP庫(kù)(Standard PHP Library,SPL)為開發(fā)人員提供了許多數(shù)據(jù)結(jié)構(gòu),迭代器,接口,異常和其它以前PHP語(yǔ)言沒有的功能,使用這些功能可以通過面向?qū)ο蟮恼Z(yǔ)法遍歷數(shù)組。

$capitals = array( ’Arizona’ => ’Phoenix’, ’Alaska’ => ’Juneau’, ’Alabama’ => ’Montgomery’ ); $arrayObject = new ArrayObject($capitals); foreach ($arrayObject as $state => $capital) { printf('The capital of %s is %s<br />', $state, $capital); } // The capital of Arizona is Phoenix // The capital of Alaska is Juneau // The capital of Alabama is Montgomery 原文明:10 PHP Tricks for Associative Array Manipulation

標(biāo)簽: PHP
相關(guān)文章:
主站蜘蛛池模板: 铜镍-康铜-锰铜-电阻合金-NC003 - 杭州兴宇合金有限公司 | 两头忙,井下装载机,伸缩臂装载机,30装载机/铲车,50装载机/铲车厂家_价格-莱州巨浪机械有限公司 | 河南不锈钢水箱_地埋水箱_镀锌板水箱_消防水箱厂家-河南联固供水设备有限公司 | 粉末包装机-给袋式包装机-全自动包装机-颗粒-液体-食品-酱腌菜包装机生产线【润立机械】 | 灌装封尾机_胶水灌装机_软管灌装封尾机_无锡和博自动化机械制造有限公司 | 恒温振荡混匀器-微孔板振荡器厂家-多管涡旋混匀器厂家-合肥艾本森(www.17world.net) | 合肥抖音SEO网站优化-网站建设-网络推广营销公司-百度爱采购-安徽企匠科技 | 沈阳缠绕包装机厂家直销-沈阳海鹞托盘缠绕包装机价格 | 便携式高压氧舱-微压氧舱-核生化洗消系统-公众洗消站-洗消帐篷-北京利盟救援 | 奇酷教育-Python培训|UI培训|WEB大前端培训|Unity3D培训|HTML5培训|人工智能培训|JAVA开发的教育品牌 | 浙江栓钉_焊钉_剪力钉厂家批发_杭州八建五金制造有限公司 | 蜂窝块状沸石分子筛-吸附脱硫分子筛-萍乡市捷龙环保科技有限公司 | 辐射色度计-字符亮度测试-反射式膜厚仪-苏州瑞格谱光电科技有限公司 | 酒糟烘干机-豆渣烘干机-薯渣烘干机-糟渣烘干设备厂家-焦作市真节能环保设备科技有限公司 | 定制奶茶纸杯_定制豆浆杯_广东纸杯厂_[绿保佳]一家专业生产纸杯碗的厂家 | 智慧钢琴-电钢琴-便携钢琴-数码钢琴-深圳市特伦斯乐器有限公司 | 圣才学习网-考研考证学习平台,提供万种考研考证电子书、题库、视频课程等考试资料 | 广东燎了网络科技有限公司官网-网站建设-珠海网络推广-高端营销型外贸网站建设-珠海专业h5建站公司「了了网」 | 济南办公室装修-厂房装修-商铺装修-工装公司-山东鲁工装饰设计 | 818手游网_提供当下热门APP手游_最新手机游戏下载 | 意大利Frascold/富士豪压缩机_富士豪半封闭压缩机_富士豪活塞压缩机_富士豪螺杆压缩机 | 纸张环压仪-纸张平滑度仪-杭州纸邦自动化技术有限公司 | 高防护蠕动泵-多通道灌装系统-高防护蠕动泵-www.bjhuiyufluid.com慧宇伟业(北京)流体设备有限公司 | 河南中专学校|职高|技校招生-河南中职中专网 | 合肥通道闸-安徽车牌识别-人脸识别系统厂家-安徽熵控智能技术有限公司 | 咖啡加盟,咖啡店加盟连锁品牌-卡小逗 | 理化生实验室设备,吊装实验室设备,顶装实验室设备,实验室成套设备厂家,校园功能室设备,智慧书法教室方案 - 东莞市惠森教学设备有限公司 | 硬质合金模具_硬质合金非标定制_硬面加工「生产厂家」-西迪技术股份有限公司 | 泉州陶瓷pc砖_园林景观砖厂家_石英砖地铺石价格 _福建暴风石英砖 | PO膜_灌浆膜及地膜供应厂家 - 青州市鲁谊塑料厂 | 郑州爱婴幼师学校_专业幼师培训_托育师培训_幼儿教育培训学校 | 千斤顶,液压千斤顶-力良企业,专业的液压千斤顶制造商,shliliang.com | COD分析仪|氨氮分析仪|总磷分析仪|总氮分析仪-圣湖Greatlake | ge超声波测厚仪-电动涂膜机-电动划格仪-上海洪富 | 机床主轴维修|刀塔维修|C轴维修-常州翔高精密机械有限公司 | 东莞市海宝机械有限公司-不锈钢分选机-硅胶橡胶-生活垃圾-涡电流-静电-金属-矿石分选机 | 3d可视化建模_三维展示_产品3d互动数字营销_三维动画制作_3D虚拟商城 【商迪3D】三维展示服务商 广东健伦体育发展有限公司-体育工程配套及销售运动器材的体育用品服务商 | 混合生育酚_醋酸生育酚粉_琥珀酸生育酚-山东新元素生物科技 | 大型冰雕-景区冰雕展制作公司,3D创意设计源头厂家-[赛北冰雕] | 钢绞线万能材料试验机-全自动恒应力两用机-混凝土恒应力压力试验机-北京科达京威科技发展有限公司 | 「钾冰晶石」氟铝酸钾_冰晶石_氟铝酸钠「价格用途」-亚铝氟化物厂家 |