閱讀260 返回首頁    go 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

  上一篇:go php培訓價格是多少?怎麼選擇PHP培訓機構?
  下一篇:go PHP中數組直擊腎髒的中級操作,array walk