Pernyataan php yang aneh


Jika Anda membaca dokumentasi PHP, Anda akan belajar tentang banyak operator . Jika Anda belum mengetahui pernyataan PHP, pelajarilah terlebih dahulu, lalu kembali membaca artikel ini.


Menilai dari komentar pertama, saya ingin meminta maaf atas terjemahan yang buruk, saya memiliki sedikit pengalaman dalam hal ini, tetapi saya ingin menerjemahkan artikel tersebut. Saya akan menerima kritik apa pun terkait kualitas terjemahan, terutama untuk perbaikan apa pun. Terima kasih atas perhatian anda!

Operator biasanya terdiri dari karakter aneh, seperti !, -, =>, <=>, ^ atau ~. Memang, beberapa dari mereka mudah dibaca, seperti AND , sementara beberapa dari mereka adalah upaya yang hilang untuk membuat mereka dapat dibaca dan menyembunyikan kepribadian ganda mereka, misalnya, xor .


Anda mungkin berpikir Anda mengetahui dokumentasi PHP jauh dan luas, tetapi selalu ada sesuatu untuk dipelajari. Jadi saya menyelam jauh ke dalam kode inti PHP dan melihat beberapa operator PHP khusus, kurang terkenal tetapi sangat berguna dalam pekerjaan sehari-hari.


Jadi, berikut adalah 10 pernyataan PHP yang harus Anda ketahui di tahun 2018!


Operator b '


Cukup tambahkan b sebelum baris apa pun dan tidak akan terjadi apa-apa. Trik cerdas ini hanya bekerja dengan b dan B Di sini kita harus mengingat kembali nasib PHP 6, karena b mirip dengan 6 .


 $string = b'content'; 

Operator [] =


Operator pendek untuk menambahkan elemen baru ke array. Ini berfungsi seperti yang Anda harapkan - ia menambahkan elemen di sebelah kanan ke array di sebelah kiri.


 $array []= 'element'; 

Bahkan, ini jauh lebih elegan daripada $array[] = 'element'; . Beberapa tes menunjukkan bahwa itu jauh lebih cepat, sementara yang lain, sebaliknya, itu jauh lebih lambat. Seperti biasa, lihat sendiri apakah operator ini cocok untuk Anda sebelum bertaruh pada kinerja dengan trik seperti itu.


Sayangnya, dalam panduan resmi tidak ada berita tentang peluang luar biasa ini.


Operator <-


Operator "objek kiri" diperkenalkan dalam PHP untuk meningkatkan kemampuan menulis kode sehingga pengembang dapat menulis kode PHP dari kanan ke kiri. Meskipun proyek kemudian dihentikan karena alasan yang tidak diketahui, operator pertama yang menerima dukungan ini disimpan dalam PHP.


 $c = $a<-B; 

Untuk kompatibilitas mundur, kode di atas tidak mendapatkan nilai properti B pada objek $a , tetapi cukup membandingkan $a dengan kebalikan dari B


Operator ––>


--> juga dikenal sebagai "operator super-objek", yang dibuat atas dasar sepupunya yang jauh, -> .


 $object-->property 

--> bekerja seperti -> , kecuali tidak. Trik utama: untuk menggunakan bukan objek sebagai variabel $object , tetapi integer (dalam hal ini akan berfungsi sebagai perbandingan > - kira-kira Per.)


Operator Panah Kiri untuk Array [$ a <= $ b]


Kita semua tahu operator => untuk array, tetapi mereka juga mendukung versi mirror dari operator ini sebagai berikut:


 $array = [ 'a' => 'b', 'c' <= 'd', ]; var_dump($array); /* array(2) { ["a"]=> string(1) "b" [0]=> bool(true) */ 

Ini sangat nyaman untuk programmer yang sangat muda, juga bagi mereka yang lebih tua yang masih menggunakan penulisan cermin. Operator ini juga memiliki kemampuan untuk mengubah kedua operan menjadi nilai logis, untuk penyimpanan yang lebih ringkas.


Nama konstanta dengan *,%


Konstanta itu baik dan efektif hingga Anda menginginkan lebih banyak kebebasan dalam sintaksisnya. Meskipun manual menyatakan bahwa nama konstanta hanya boleh berisi huruf, garis bawah dan angka, itu juga diperbolehkan untuk menggunakan karakter khusus seperti * atau% dalam nama. Misalnya, sebagai berikut:


 //        ,       β€” . . define('A', 2); define('B', 1); define('A*B', 2); $x = foo( A*B ); 

Satu-satunya hal yang Anda perlu memastikan bahwa konstanta A dan B ada, dan sebagai hasil dari penggandaannya, nilai konstanta yang diusulkan diperoleh. Ini adalah alasan bagus untuk menghindari penggunaan bilangan prima sebagai nilai dalam konstanta.


Operator Kapal


Jadi, semua orang tahu tentang operator "pesawat ruang angkasa" sejak rilis PHP 7. Tetapi kurang diketahui bahwa pada saat yang sama seluruh armada pesawat ruang angkasa diperkenalkan untuk melakukan operasi skala besar.


Pesawat ruang angkasa kecil


Anda dapat memberikan pengawalan ke operator pesawat ruang angkasa menggunakan operator pesawat ruang angkasa kecil. Operator ini tidak membuat perbandingan: ia hanya menambahkan $b ke $a dalam gaya yang begitu halus.


 $a -=- $b; 

Pejuang X


Jika Anda ingin menambahkan daya tembak ke armada sebelumnya, Anda dapat memanggil pejuang tipe X ke sumber PHP: +-0-+ . Kode berikut mengurangi 3 dari $a (artikel asli mengatakan bahwa operator akan menambah 3 ( adds 3 to $a ), tetapi ini tidak demikian, lihat output dari contoh di bawah ini - kira-kira.


 $a = 8; $a = $a +-0-+ 3; // 5 

Kapal perang


Operator kapal perang menyediakan dukungan untuk operator sebelumnya. Ini adalah salah satu operator yang hanya bekerja dengan array, seperti => . Ini harus digunakan hanya oleh guru PHP paling canggih di sisi galaksi ini. Jangan meremehkan kekuatannya.


 $x = [ 2 <=['-']=> $b]; 

Bukankah itu cara terbaik untuk menulis seperti ini?


 $x = [ 1 => $b]; 

Bintang kematian


Banyak dari Anda akan bertanya apakah operator bintang kematian dibangun ke dalam PHP, dan jawabannya adalah: saat ini tidak diketahui. Ada rencana untuk ini, tetapi tidak ada yang pernah melihat salinan nyata. Saya benar-benar ingin melihat operator dalam tiga baris, karena PHP akan menjadi yang pertama memiliki ini (dan ketika ini terjadi, saya berharap bahwa biaya operator ini tidak akan dihapuskan dari akun saya).


  $x = $y ~~ ( Β°) ~~ true; 

Kegilaan operator PHP


Pernyataan PHP rapi dan efisien. Kami berharap operator yang kurang dikenal ini telah mengajarkan Anda sesuatu dalam PHP.


Lihat contoh kode berikut: mereka semua bekerja di PHP 7.2.5, kecuali untuk "bintang kematian". Mereka mungkin memiliki beberapa prasyarat, jadi pastikan untuk membaca dokumentasi sebelum menggunakannya.

Source: https://habr.com/ru/post/id412603/


All Articles