Rumah pembangunan bahagian belakang PHP8 聊聊PHP8的一些语法新特性

聊聊PHP8的一些语法新特性

May 21, 2021 am 10:40 AM
php8

本篇文章向大家介绍PHP8的一些语法新特性,有一定的参考价值,有需要的朋友可以参考一下,希望对大家有所帮助。

PHP8的一些语法新特性

命名参数

function test($name, $age='18', $sex='男') {
    echo $name . '-------' . $age . '--------'. $sex;
}
test('Landy', age: 20, sex: '女'); //Landy-------20--------女
Salin selepas log masuk

还可以跳过参数

test('Landy', sex: '女'); //Landy-------18--------女
Salin selepas log masuk

参数的顺序可以不固定了

test(age: 30, sex: '女', name: 'tom'); //tom-------30--------女
Salin selepas log masuk
<?php
class Person {
    public static function test($name, $age) {
        echo $name.&#39;|&#39;.$age;
    }
}
Salin selepas log masuk
Person::test(age:100, name:&#39;Landy&#39;); //Landy|100
Salin selepas log masuk

还可以这样

function test1($arg1,$arg2, ...$args) {
    print_r($args);
}
test1(1,2, name:&#39;Landy&#39;, age:11, sex:2);
Array
(
    [name] => Landy
    [age] => 11
    [sex] => 2
)
Salin selepas log masuk

向下不兼容,PHP8.0 后的函数都可以使用命名参数

match 表达式

$a = 8.0;
echo match($a) {
    8.0 => &#39;匹配8.0&#39;,
    &#39;8.0&#39; => &#39;test 8.0&#39;,
    default => &#39;没有匹配值&#39;
};  //匹配8.0
Salin selepas log masuk

可以和表达式匹配

function test3() {
    return 8.0;
}
$a = 8.0;
echo match($a) {
    test3() => &#39;匹配函数&#39;,
    8.0 => &#39;匹配8.0&#39;,
    &#39;8.0&#39; => &#39;test 8.0&#39;,
    9,10,11 => &#39;多次匹配&#39;, //多次匹配
    default => &#39;没有匹配值&#39;
};  //匹配函数
Salin selepas log masuk

match 为强类型匹配,还有一点需要注意的是之前 match (){} 花括号后要写 ;,switch 是不用的

构造函数里可直接定义属性

class Point {
  public function __construct(
    public float $x = 1.0,
    public float $y = 2.0,
    public float $z = 3.0,
  ) {}
}
echo (new Point())->x; // 1
Salin selepas log masuk

推荐学习:《PHP视频教程

Atas ialah kandungan terperinci 聊聊PHP8的一些语法新特性. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan Laman Web ini
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn

Alat AI Hot

Undresser.AI Undress

Undresser.AI Undress

Apl berkuasa AI untuk mencipta foto bogel yang realistik

AI Clothes Remover

AI Clothes Remover

Alat AI dalam talian untuk mengeluarkan pakaian daripada foto.

Undress AI Tool

Undress AI Tool

Gambar buka pakaian secara percuma

Clothoff.io

Clothoff.io

Penyingkiran pakaian AI

AI Hentai Generator

AI Hentai Generator

Menjana ai hentai secara percuma.

Artikel Panas

R.E.P.O. Kristal tenaga dijelaskan dan apa yang mereka lakukan (kristal kuning)
1 bulan yang lalu By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. Tetapan grafik terbaik
1 bulan yang lalu By 尊渡假赌尊渡假赌尊渡假赌
Akan R.E.P.O. Ada Crossplay?
1 bulan yang lalu By 尊渡假赌尊渡假赌尊渡假赌

Alat panas

Notepad++7.3.1

Notepad++7.3.1

Editor kod yang mudah digunakan dan percuma

SublimeText3 versi Cina

SublimeText3 versi Cina

Versi Cina, sangat mudah digunakan

Hantar Studio 13.0.1

Hantar Studio 13.0.1

Persekitaran pembangunan bersepadu PHP yang berkuasa

Dreamweaver CS6

Dreamweaver CS6

Alat pembangunan web visual

SublimeText3 versi Mac

SublimeText3 versi Mac

Perisian penyuntingan kod peringkat Tuhan (SublimeText3)

Apakah perbezaan antara php5 dan php8 Apakah perbezaan antara php5 dan php8 Sep 25, 2023 pm 01:34 PM

Perbezaan antara php5 dan php8 adalah dari segi prestasi, struktur bahasa, sistem jenis, pengendalian ralat, pengaturcaraan tak segerak, fungsi perpustakaan standard dan keselamatan. Pengenalan terperinci: 1. Peningkatan prestasi Berbanding dengan PHP5, PHP8 mempunyai peningkatan besar dalam prestasi PHP8 memperkenalkan pengkompil JIT, yang boleh menyusun dan mengoptimumkan beberapa kod pelaksanaan frekuensi tinggi, dengan itu meningkatkan kelajuan berjalan; PHP8 memperkenalkan beberapa struktur dan fungsi bahasa baharu PHP8 menyokong parameter yang dinamakan, membenarkan pembangun menghantar nama parameter dan bukannya susunan parameter, dsb.

Bagaimana untuk menambah sambungan mysql ke php8 Bagaimana untuk menambah sambungan mysql ke php8 Oct 07, 2023 pm 03:31 PM

Langkah-langkah untuk menambah sambungan mysql ke php8 ialah: 1. Pasang pustaka klien MySQL 2. Pasang alat pembangunan untuk PHP 8 3. Muat turun kod sumber sambungan MySQL 5. Dayakan Sambungan MySQL; 6. Mulakan Semula Hanya pelayan web.

Penjelasan grafik terperinci tentang kaedah pemasangan dan konfigurasi apache2.4+php8.0 Penjelasan grafik terperinci tentang kaedah pemasangan dan konfigurasi apache2.4+php8.0 Dec 06, 2022 pm 04:53 PM

Artikel ini akan memperkenalkan kepada anda cara memasang apache2.4 dan cara mengkonfigurasi php8.0 Artikel disertakan dengan gambar dan langkah terperinci Mari kita lihat cara memasang dan mengkonfigurasi apache2.4+php8.0~

Bagaimana untuk menyambung ke pangkalan data dalam php8 Bagaimana untuk menyambung ke pangkalan data dalam php8 Nov 16, 2023 pm 02:41 PM

PHP8 boleh menggunakan mysqli dan PDO untuk menyambung ke pangkalan data. Pengenalan terperinci: 1. Gunakan mysqli untuk menyambung ke pangkalan data dengan memasukkan nama pelayan pangkalan data, nama pengguna, kata laluan dan nama pangkalan data untuk disambungkan. Kemudian, gunakan atribut `connect_error` untuk menyemak sama ada sambungan berjaya dan mengeluarkan mesej ralat jika sambungan gagal. Akhir sekali, tutup sambungan dengan memanggil kaedah `close()` 2. Gunakan PDO untuk menyambung ke pangkalan data, dan sambung dengan memasukkan nama pelayan pangkalan data, kata laluan dan nama pangkalan data, dsb.

Bagaimana untuk menukar jenis data php8 Bagaimana untuk menukar jenis data php8 Nov 16, 2023 pm 02:51 PM

Kaedah jenis data php8 termasuk menukar rentetan kepada integer, menukar integer kepada rentetan, menukar rentetan kepada nombor titik terapung, menukar nombor titik terapung kepada rentetan, menukar tatasusunan kepada rentetan, menukar rentetan kepada tatasusunan, menukar nilai Boolean kepada integer, penukaran integer kepada Nilai boolean dan penentuan jenis pembolehubah dan penukaran. Pengenalan terperinci: 1. Menukar rentetan kepada integer termasuk fungsi intval() dan (int) penukaran jenis paksa 2. Menukar integer kepada rentetan termasuk fungsi strval() dan (rentetan) penukaran jenis paksa; rentetan kepada apungan Mata dan sebagainya.

Pandangan mendalam tentang JIT dalam PHP 8 Pandangan mendalam tentang JIT dalam PHP 8 Apr 25, 2022 pm 08:46 PM

Artikel ini akan membawa anda melalui JIT dalam PHP 8 dan bercakap tentang cara JIT mengambil bahagian dalam proses tafsiran saya harap ia akan membantu semua orang.

Apakah peningkatan prestasi yang ada pada php8? Apakah peningkatan prestasi yang ada pada php8? Dec 21, 2023 pm 02:44 PM

Peningkatan prestasi php8 termasuk: 1. Pengenalan pengkompil JIT; 2. Pengoptimuman panggilan fungsi; . Memperbaik pemprosesan tatasusunan; 8. Memperkenalkan mekanisme pengurusan memori baharu; Pengenalan terperinci: 1. Pengenalan pengkompil JIT PHP8 memperkenalkan pengkompil JIT, yang merupakan teknologi kompilasi dinamik yang boleh menukar kod PHP kepada kod mesin untuk pelaksanaan yang lebih cekap, dsb.

Apakah ciri yang ada pada php8? Apakah ciri yang ada pada php8? Dec 21, 2023 pm 02:54 PM

Ciri-ciri php8: 1. Pengkompil JIT; 3. Jenis kesatuan; ; 10. Penambahbaikan konsisten. Pengenalan terperinci: 1. Pengkompil JIT, PHP8 memperkenalkan teknologi kompilasi tepat dalam masa, yang menyusun kod PHP ke dalam kod mesin asli, dengan itu meningkatkan kelajuan pelaksanaan program 2. Parameter yang dinamakan, PHP8 menyokong parameter yang dinamakan, membenarkan penggunaan nama parameter semasa memanggil fungsi dll.

See all articles