260
Php編程
PHP中數組直擊心髒的基本操作,in array
我寫什麼,主要取決於你在評論中要什麼,留言告訴我!
PHP方便,是的,你得到它方便的那些點了嗎?
比如使用數組的時候,你有沒有費盡你的心思去實現各種排序,檢查元素是不是存在、想讓它們做一件滿足你小願望的操作或需求。
寫了半天終於實現,晚上洗頭時好像多掉了幾根頭發,而你一周的假期通常小於四個半天!
在做那些數組操作時,有沒有可能我用一行代碼就解決掉半天的工作量?COME ON,我年青的寶貝,讓我拯救你的頭發和四分之一個假期!
·
不會用工具就會掉頭發
數一數你可能自己解決過或將要解決的那些問題:
我要按某種規則顯示我的數據,所以我要排序我的數組!各種排序!!
我想要確定一下數組裏邊有沒有內奸,誰是好人,誰是我要的那塊寶!我每次都要循環都要雙重和多重循環去找腫麼辦!!
好多數組啊,他們是有關係的我知道,比如在右手粗壯組和男性組裏必然能篩選出單身25年以上的青年,這種天天遇到的邏輯沒有一個快捷方式嗎?
如果數組是我的臣子,我多想扔給他們一個宰相,於是誰該幹嘛就都被出理了,總之我為每個大臣寫一個CASE然後循環派給他們好累,我不是我程序裏的皇帝嗎?我的宰相何在?
對了,我想創建一個數組,值就在那裏,邏輯似乎清楚,可是這麼清楚的邏輯還要我寫轉換方式?
我想用一句話操(作)我的數組,而不是那麼囉嗦,帥帥的!
……
以上這些問題你都解決地很完美?時間寶貴去看我別的文章!!
以上問題你都想解決?這是一個小係列請多翻幾篇哥哥我的文章!
這篇先從基本聊
找內奸的方法,in_array()、array_key_exists()
in_array()
太特麼常用的邏輯,你是不是經常要看看這個數組裏有沒有某個“壞人”,找到他,找到的話就要整點啥,或者整個數組不要了,壞人再見。我隻需要純潔。
那麼你在某些很多語言裏學習過的博學的你,或者智商非凡,用了循環甚至雙重循環去一個一個比較你的那些馬仔。
不如簡單幹脆地甩下這麼一句話: in_array();
立刻返回一個真或假告訴你有還是沒有,反正有一個馬仔是內奸全部砍死,現在我們不關心具體誰是。
來看栗子:
$arr=['Jingcha','Neijian','xiaoMing', '66',]; //你有4個叫不上名字的馬仔,他們組成了一個數組
$re=in_array('NeiJian',$arr); //in_array一比立刻得出結果
var_dump($re); //返回結果為真,那麼你的馬仔團隊確實不純潔了
好了,就是這麼用,PHP函數裏第一個參數一般都是放著你要找的東西,第二個是指你要在哪找——被找的數組。
找到內奸了所以現在把你自己的馬仔全部砍死吧,說好的邏輯。
全都要死!
還有一種情況下,你的馬仔會被你冤死,他不是內奸卻被認為是內奸。
比如你心知肚明,66是內奸,但這個66是數字66不是字符串,作為大佬你當然知道數字和字符串的區別對不對!
還是上邊那個例子如果你把66去掉引號改成數字會發現沒有區別,不要緊張,我的in_array很好用,隻需要再加第三個參數true就可以了:
$arr=['Jingcha','Neijian','xiaoMing', '66',]; //嗯,我這四個小馬仔要考驗考驗
$re=in_array(11,$arr,true); //數字的66?我沒這兒沒有這麼6的人
var_dump($re); //確實沒有。完美!
總結一下,第三個參數設為true就是嚴格區分數據類型,PHP就不會幫你自己動在數字、字符串、布爾值之類型中湊合地混為一談啦!
key_exists()
PHP的方便之處即是它的龜毛之處,有時同一個函數有兩個名字!這樣對我們英語不敏感的某些同學不公平。
array_key_exists()就是當前要討論的函數另外一個名字。
發音是:XXXXXXXX(沒用的東西要打馬賽克)
·
是這樣啊,真實情況下我們的數組一般都是鍵值對,就是每個數值他有名字!!
大家都有名字,你有,你的小馬仔也有?所以數組成員有名字才對。
所以常見的數組會是這樣:
$arr=['xiaoMing'=>'SB', 'hanMeiMei'=>'fine girl', 'huangBo'='BoGe'];
是吧,我們不關心他是什麼先,先找找我那一百多馬仔裏邊有沒有這個人,要是有的話,我就不給他們講話了。因為有些人不管你講什麼都能把你嗆住:
$arr=['xiaoMing'=>'bear boy', 'hanMeiMei'=>'fine girl', 'huangBo'=>'BoGe']; //用數組代表的我超多的馬仔們!
$re=key_exists('xiaoMing',$arr); //找找看有沒有這個叫小明的人
var_dump($re); //返回結果為真,看來要注意了!
離小明遠點兒!
key_exists簡單地說,就是找找這個數組裏有沒有鍵名為指定值的成員。
當然,沒有鍵名的數組,也可以用這個函數,查找指定下標值存不存在啊:
$arr=['bear boy','fine girl','BoGe'];
$re=key_exists(5,$arr);
var_dump($re); //返回結果為假,因為這個數組隻有三個元素,最大值是2!
廢這麼多話,隻是希望幫你更容易地理解和記住它們啊。
數組的事還沒聊完。等著!
記住,我會給你我的愛,而你需要它!!依靠我不要猶豫!!
·
關愛你身邊的朋友保護他們的頭發,轉載文章,手留餘香麼麼噠!
最後更新:2017-10-08 18:47:45