pengendali PHP
Operator PHP
Dalam bab ini kita akan membincangkan aplikasi pengendali yang berbeza dalam PHP.
Dalam PHP, pengendali tugasan = digunakan untuk menetapkan nilai kepada pembolehubah.
Dalam PHP, operator aritmetik + digunakan untuk menambah nilai bersama-sama.
Operator Aritmetik PHP
Pengendali 🎜>
x*y 🎜>x / y hasil bagi x dan y Negasi 2
a “ Gunakan % dalam operator nombor untuk mencari baki Jika dividen ($ a) ialah nombor negatif, maka hasil yang diperoleh juga merupakan nilai negatif.
Contoh berikut menunjukkan hasil berbeza yang diperoleh dengan menggunakan operator aritmetik berbeza:
Contoh
<?php $x=10; $y=6; echo ($x + $y); // 输出16 echo '<br/>' echo ($x - $y); // 输出4 echo '<br/>' echo ($x * $y); // 输出60 echo '<br/>' echo ($x / $y); // 输出1.6666666666667 echo '<br/>' echo ($x % $y); // 输出4 ?>
Pengendali pembahagian integer baharu dalam PHP7+ versi intdiv (), contoh penggunaan:
<?php var_dump(intdiv(10, 3)); ?>
Contoh di atas akan mengeluarkan:
int(3)
Operator tugasan PHP
operator Peneranganx = y
x += y Sambungkan dua Rentetan
<🎜 Ini bermakna bahawa operan kiri ditetapkan kepada nilai ungkapan sebelah kanan. Iaitu, nilai "$x = 5" ialah 5.Contoh berikut menunjukkan hasil berbeza yang diperoleh dengan menggunakan operator tugasan yang berbeza:
Contoh
<?php $x=10; echo $x; // 输出10 $y=20; $y += 100; echo $y; // 输出120 $z=50; $z -= 25; echo $z; // 输出25 $i=5; $i *= 6; echo $i; // 输出30 $j=10; $j /= 5; echo $j; // 输出2 $k=15; $k %= 4; echo $k; // 输出3 ?>
Yang berikut Contoh menunjukkan hasil yang berbeza menggunakan pengendali rentetan yang berbeza:
Contoh
<?php $a = "Hello"; $b = $a . " world!"; echo $b; // 输出Hello world! $x="Hello"; $x .= " world!"; echo $x; // 输出Hello world! ?>
Operator Peningkatan/Penurunan PHP
Operator Pra-kenaikan x Tambahkan 1 kepada x dan kembalikan x
X ++ Kembali ke X, kemudian X tambah 1
- X pra-kurangkan x tolak 1, kemudian kembali kepada x
x- kemudian kurangkan kepada X, kemudian x tolak pengurangan 1
Contoh berikut menunjukkan hasil penggunaan operator kenaikan/penurunan:
Contoh
<?php $x=10; echo ++$x; // 输出11 $y=10; echo $y++; // 输出10 $z=5; echo --$z; // 输出4 $i=5; echo $i--; // 输出5 ?>
Keutamaan pengendali
Keutamaan pengendali ialah peraturan yang sangat kompleks, lihat
http:// php.net/manual /zh/language.operators.precedence.php
Tidak perlu menghafalnya secara hafalan, kita hanya perlu memahami peraturan yang biasa digunakan, dari tinggi ke rendah
• ! Logik BUKAN
· Operasi darab dan bahagi adalah lebih tinggi daripada operasi tambah dan tolak (darab dan bahagi dahulu, kemudian tambah dan tolak)
• Operator perbandingan (kira dahulu dan kemudian bandingkan)
• Operator logik ( Hasil perbandingan dikendalikan secara logik)
Sila analisis hasil $result = 3 * 2 + 1 >
Gunakan tanda kurung, walaupun dalam Apabila tidak sangat diperlukan, ia biasanya boleh meningkatkan kebolehbacaan kod$hasil = 3 * 2 + 1 > Kebanyakan Cara yang baik untuk menulisnya ialah 🎜> Operator Perbandingan PHP Pengendali perbandingan membenarkan anda membandingkan dua nilai:Penerangan pengendaliJika Mengembalikan benar jika x sama dengan y dan ia adalah daripada jenis yang sama 5= ==="5" Kembalikan palsux != y Tidak sama dengan y Jika x tidak sama dengan y, kembalikan benar 5!=8 Kembalikan benarx & lt;> y tidak sama dengan jika x Tidak sama dengan y, maka kembalikan benar 5<>8 Kembalikan benar "5" Kembalikan benar 🎜>x<y x >= y boleh dikembalikan Kurang daripada atau sama dengan Jika x kurang daripada atau sama dengan y, maka Kembalikan benar 5<=8 Kembalikan benar Antaranya, yang kurang biasa ialah === dan! ==. $a===$b bermaksud $a dan $b bukan sahaja sama dengan angka, tetapi juga mempunyai jenis yang sama. ! == dan === mempunyai makna yang berlawanan $a!==$b bermaksud $a dan $b tidak sama nilai atau jenis. Dalam PHP, semua nilai berikut mewakili kosong: null, false, array(), "", 0, "0". Jika == digunakan, null == false, 0 == "0", null== array(), false == ""...semua kembali benar, manakala menggunakan === akan mengembalikan false Berjuta-juta! Sepuluh juta! Jangan tersilap tulis == sebagai = Ini adalah kesilapan yang paling biasa untuk orang baru = ialah simbol tugasan dan == ialah perbandingan untuk kesaksamaan Contoh berikut menunjukkan penggunaan. beberapa pengendali perbandingan untuk mendapatkan hasil yang berbeza untuk: Instance Operator logik PHP Operator Contoh 🎜> (x < 10 dan y > <1) 🎜 Berbalik atau benar (x==6 atau y==5) Mengembalikan benar (x < 10 && y > 1) Mengembalikan benar 🎜> x <> y Tidak serupa , kemudian kembalikan benar Contoh berikut menunjukkan hasil yang berbeza yang diperolehi: dengan menggunakan beberapa operator tatasusunan yang berbeza: Satu lagi pengendali bersyarat ialah operator "?:" (atau pengendali ternary meta). Format tatabahasa (expr1) ? (expr2) : (expr3) Nilai apabila expr1 menilai kepada TRUE ialah expr2 dan apabila expr1 menilai kepada FALSE nilainya ialah expr3. Sejak PHP 5.3, bahagian tengah pengendali ternary boleh diabaikan. Ungkapan expr1 ?: expr3 mengembalikan expr1 jika expr1 menilai kepada TRUE dan expr3 sebaliknya. Contoh Dalam contoh berikut, adalah dinilai bahawa permintaan $_GET mengandungi nilai pengguna Jika ya, $_GET['user'] dikembalikan, jika tidak, tiada siapa yang dikembalikan: Selamat datang untuk belajar PHP Selamat datang untuk belajar PHP Nota: PHP_EOL ialah watak baris baharu dan serasi dengan platform yang lebih besar. Terdapat operator penggabungan NULL tambahan dalam versi PHP7+ Contohnya adalah seperti berikut: Pengendali perbandingan gabungan (PHP7+)
x === y tidak sama jika Jika x tidak sama dengan y, kembali benar
Contoh<?php
$x=100;
$y="100";
var_dump($x == $y);
echo "<br>";
var_dump($x === $y);
echo "<br>";
var_dump($x != $y);
echo "<br>";
var_dump($x !== $y);
echo "<br>";
$a=50;
$b=90;
var_dump($a > $b);
echo "<br>";
var_dump($a < $b);
?>
Pengendali Ternary <?php
$x = array("a" => "red", "b" => "green");
$y = array("c" => "blue", "d" => "yellow");
$z = $x + $y; // $x 和 $y 数组合并
var_dump($z);
var_dump($x == $y);
var_dump($x === $y);
var_dump($x != $y);
var_dump($x <> $y);
var_dump($x !== $y);
?>
<?php
$test = '欢迎学习PHP';
// 普通写法
$username = isset($test) ? $test : 'nobody';
echo $username, PHP_EOL;
// PHP 5.3+ 版本写法
$username = $test ?: 'nobody';
echo $username, PHP_EOL;
?>
<?php
// 如果 $_GET['user'] 不存在返回 'nobody',否则返回 $_GET['user'] 的值
$username = $_GET['user'] ?? 'nobody';
// 类似的三元运算符
$username = isset($_GET['user']) ? $_GET['user'] : 'nobody';
?>