它比 empty(trim()) 更好用。
Str::contains()
我們期待已久的輔助函數(shù), 確定一個(gè)字符串中是否包含另一個(gè)字符串. 這個(gè)問(wèn)題在 StackOverflow 和其他編程論壇上已經(jīng)被問(wèn)過(guò)很多次了, 因?yàn)槟壳霸谄胀≒HP程序中只能使用 strpos.
use Illuminate\\\\Support\\\\Str;
$contains = Str::contains('My name is Inigo Montoya.', 'Inigo');
// true
$contains = Str::contains('My name is Inigo Montoya.', 'Andrew');
// false
隨著最近的rfc的批準(zhǔn),PHP將很快擁有自己的str_contains方法,這將使該方法過(guò)時(shí)。不過(guò)在此之前,它是Laravel中最有用的輔助函數(shù)之一。
Arr::pluck()
該方法可以說(shuō)是我在本文中列出的更強(qiáng)大的方法之一,Arr::pluck 遍歷多維數(shù)組并檢索給定鍵的所有值。
讓我們來(lái)看一個(gè)簡(jiǎn)單的例子:
use Illuminate\\\\Support\\\\Arr;
$array = [
['website' => ['id' => 1, 'url' => 'reddit.com']],
['website' => ['id' => 2, 'url' => 'twitter.com']],
['website' => ['id' => 3, 'url' => 'dev.to']],
];
$names = Arr::pluck($array, 'website.url');
// ['reddit.com', 'twitter.com', 'dev.to']
傳入一個(gè)數(shù)組和一個(gè)點(diǎn)符號(hào)字符串來(lái)確定我們想要的鍵值,然后遍歷多維數(shù)組,并將指定鍵所對(duì)應(yīng)值的一維數(shù)組返回給我們。
我在返回的API數(shù)據(jù)中多次使用過(guò)該方法(當(dāng)我覺(jué)得不需要使用整個(gè)的集合時(shí))。它使獲得ID,名稱或其他屬性的數(shù)組變得非常容易,而無(wú)需創(chuàng)建整個(gè)foreach循環(huán)。
collect()
一旦發(fā)現(xiàn)集合有關(guān)的信息,我就不會(huì)停止使用它們。 這可能是我發(fā)現(xiàn)自己最常使用的助手函數(shù),它可以讓您 將數(shù)組轉(zhuǎn)換為集合。
為什么這很重要? 因?yàn)榧蠋в写罅康谋憬莘椒ǎ梢詫⑺鼈兘M合在一起用最簡(jiǎn)單的閉包參數(shù)對(duì)數(shù)組執(zhí)行各種過(guò)濾,排序和修改等操作。 沒(méi)有foreach 循環(huán),沒(méi)有中間變量,只是干凈的代碼。
看看這個(gè)簡(jiǎn)單的例子:
$collection = collect(['Keys', 'Krates']);
return $collection->map(function ($value) {
return Str::upper($value);
});
// ['KEYS', 'KRATES']
return $collection->filter(function ($value) {
return strlen($value) > 4;
});
// ['Krates']
老實(shí)說(shuō),這只是集合的冰山一角。 我在項(xiàng)目中都使用了它們,尤其是當(dāng)我要處理不是來(lái)自數(shù)據(jù)庫(kù)模型的龐大而復(fù)雜的數(shù)據(jù)集時(shí)。 CSV 數(shù)據(jù),外部API請(qǐng)求和目錄結(jié)構(gòu)都可以從放入集合中使用。
這就是我現(xiàn)在所了解的!
原文地址:https://dev.to/aschmelyun/my-favorite-la…
譯文地址:https://learnku.com/laravel/t/43776
更多關(guān)于云服務(wù)器,域名注冊(cè),虛擬主機(jī)的問(wèn)題,請(qǐng)?jiān)L問(wèn)西部數(shù)碼官網(wǎng):m.ps-sw.cn