---
# System prepended metadata

title: php 8
tags: [PHP]

---

# php 8 
https://docsxyz.com/zh-hant/wiki/php/new-in-php-8


https://www.php.net/releases/8.0/en.php

## 枚舉
https://thisismehrab.medium.com/best-practice-of-using-php-enums-9c4296ee8426

## 命名參數（Named arguments）
命名參數允許參數傳值時指定名稱，因此不必考慮參數順序，可以直接忽略可選參數。

#函數定義
```
function foo(string $a, string $b, ?string $c = null, ?string $d = null) 
{ /* … */ }
```

#調用函數
```
foo(
    b: 'value b', 
    a: 'value a', 
    d: 'value d',
);
```

## 數組解構

現在不一定要數字
0 => 's'
1 => '2'
這樣才能解構了

字串的key也能解構了
不過後面key會蓋掉前面的key
跟merge一樣
https://www.youtube.com/watch?v=balDcSybZu4

## Enum 列舉
https://www.youtube.com/watch?v=Pl5bZpQycmg
定義const用
很容易抓取key value
重點map 的array很好用

## reutrn type never
比void更準確


## 不再是存在就是true了 他會幫你轉看長度
![](https://i.imgur.com/g0hoiLd.png)



###### tags: `PHP`