您好,登錄后才能下訂單哦!
這篇文章給大家分享的是有關PHP7中的使用技巧的內容。小編覺得挺實用的,因此分享給大家做個參考,一起跟隨小編過來看看吧。
在 PHP 7 之前,開發者經常這么做:
use Universe\Saiyan; use Universe\SuperSaiyan;
從 PHP 7 開始:
use Universe\{Saiyan, SuperSaiyan};
函數和常量也是一樣的。如果它們屬于同一命名空間,則可以對它們進行分組。
define('NAMES', [ 'first' => 'John', 'middle' => 'Fitzgerald', 'last' => 'Kennedy' ]); echo NAMES['last']; //顯示 "Kennedy"
它的寫法是這樣的<=>。它結合了比較。它表示 “小于,等于或大于”。當使用用戶定義的比價函數對數組進行排序時,它非常有用,因為返回值是:
0 如果值相等
1 如果左邊的值更大
-1 如果右邊的值更大
那么,讓我們對以下女演員進行排序:
$actressesWithAcademyAwards = [ [ 'name' => 'Katharine Hepburn', 'awards' => 4 ], [ 'name' => 'Jessica Lange', 'awards' => 2 ], [ 'name' => 'Meryl Streep', 'awards' => 3 ], [ 'name' => 'Cate Blanchett', 'awards' => 2 ], ];
你可以用一行來代替多行來進行比較:
usort($actressesWithAcademyAwards, function ($a, $b) { return $a['awards'] <=> $b['awards']; }); print_r($actressesWithAcademyAwards);
返回:
Array
(
[0] => Array
(
[name] => Jessica Lange
[awards] => 2
)
[1] => Array
(
[name] => Cate Blanchett
[awards] => 2
)
[2] => Array
(
[name] => Meryl Streep
[awards] => 3
)
[3] => Array
(
[name] => Katharine Hepburn
[awards] => 4
)
)
這是一個非常常見的 PHP 用例,因此太空船操作符可以節省時間。另外,它的可讀性更強。
從 PHP 7.3 開始,你可以很容易地得到數組的第一個鍵和最后一個鍵:
$array = [ 'v' => 1, 'i' => 2, 'p' => 3 ]; $firstKey = array_key_first($array); $lastKey = array_key_last($array); print_r($firstKey); // v print_r($lastKey); // p
真的很簡單,因為它不影響內部數組指針。
該特性可以實現以下功能:
$abc = range('a', 'c'); $def = range('d', 'f'); $ghi = range('g', 'i'); $all = [...$abc, ...$def, ...$ghi, 'j']; print_r($all);
得到:
Array
(
[0] => a
[1] => b
[2] => c
[3] => d
[4] => e
[5] => f
[6] => g
[7] => h
[8] => i
[9] => j
)
在大多數情況下,它基本取代了array_merge().
在大多數情況下,它基本取代了array_merge().
請注意,因為現在它指的是只有一個表達式的短閉包(因此有了 “短” 這個字):
$c = 3; $addC = fn($x) => $x + $c; echo $addC(70); // 73
不需要use關鍵字。
class Mother { private const ERROR_LEVEL_1 = 'achtung'; }
可見性有助于確保不應該被覆蓋的內容不會被覆蓋。在 PHP 7.1 之前,對于類常量(始終是公共的)來說是不可能的。
class Mother { private const ERROR_LEVEL_1 = 'achtung'; }
可見性有助于確保不應被覆蓋的內容不被覆蓋。在PHP 7.1之前,對于類常量(始終是公共的)這是不可能的。
感謝各位的閱讀!關于“PHP7中的使用技巧”這篇文章就分享到這里了,希望以上內容可以對大家有一定的幫助,讓大家可以學到更多知識,如果覺得文章不錯,可以把它分享出去讓更多的人看到吧!
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。