Apa ini?
Ini adalah kumpulan pertanyaan yang muncul sesekali tentang sintaksis di PHP. Ini juga Wiki Komunitas, jadi semua orang diundang untuk berpartisipasi dalam memelihara daftar ini.
Kenapa ini?
Dulu sulit untuk menemukan pertanyaan tentang operator dan token sintaksis lainnya. Idea
Gagasan utamanya adalah memiliki tautan ke pertanyaan yang ada di Stack Overflow, jadi lebih mudah bagi kita untuk merujuk mereka, bukan untuk menyalin konten dari Manual PHP.
Catatan: Sejak Januari 2013, Stack Overflow mendukung karakter khusus . Hanya mengelilingi istilah pencarian dengan tanda kutip, mis[php] "==" vs "==="
Apa yang harus saya lakukan di sini?
Jika Anda telah diarahkan ke sini oleh seseorang karena Anda telah mengajukan pertanyaan seperti itu, temukan sintaksis tertentu di bawah ini. Halaman tertaut ke manual PHP bersama dengan pertanyaan terkait kemungkinan akan menjawab pertanyaan Anda kemudian. Jika demikian, Anda dianjurkan untuk mengubah jawaban. Daftar ini tidak dimaksudkan sebagai pengganti bantuan yang disediakan orang lain.
Daftar
Jika token khusus Anda tidak tercantum di bawah ini, Anda mungkin menemukannya di Daftar Token Parser .
&
Operator atau Referensi Bitwise
- Apa artinya memulai fungsi PHP dengan ampersand?
- Memahami operator PHP & (ampersand, bitwise, dan)
- Operator PHP "&"
- Perbedaan antara & dan && di PHP
- Apa artinya "&" di sini di PHP?
- Apa artinya "&" dalam kasus ini?
- Apa arti tanda "&" dalam PHP?
- Apa arti tanda tangan ini (&) di PHP?
- Bagaimana cara operator "&" bekerja dalam fungsi PHP?
- Apa artinya & dalam & 2 dalam PHP?
- Kapan saya harus menggunakan operator bitwise?
- Apakah pernah ada kebutuhan untuk menggunakan ampersand di depan suatu objek? (& $)
=&
Referensi
- Operator penugasan referensi dalam PHP, = &
- Apa arti dari operator "= &" dan "& =" di PHP?
- Apa yang dilakukan operator '& =' dan '= &'?
- Apa yang dimaksud dengan & di PHP?
- 'AND' vs '&&' sebagai operator
- Perbedaan antara & dan && di PHP
- Apakah ada perbedaan antara operator "dan" dan "&&" di PHP?
- PHP - dan / atau kata kunci
- Apa arti tanda persen dalam PHP?
- Apa itu operator PHP% dan bagaimana cara menggunakannya dalam contoh dunia nyata?
- Apa gunanya simbol @ di PHP?
- Simbol 'At' sebelum nama variabel dalam PHP: @ $ _ POST
- Fungsi dan @ fungsi PHP
- Haruskah saya menggunakan @ dalam kode PHP saya?
- Apa arti @ dalam PHP?
- Apa yang dimaksud dengan operator PHP "?" dan ":" menelepon dan apa yang mereka lakukan?
- ?: operator ('operator Elvis') di PHP
- Di mana saya bisa membaca tentang persyaratan yang dilakukan dengan "?" dan ":" (titik dua)?
- Menggunakan PHP 5.3?: Operator
??
Null Coalesce Operator (sejak PHP 7)
?string
?int
?array
?bool
?float
Deklarasi tipe pengembalian tidak dapat dibatalkan (sejak PHP 7.1)
:
Sintaks alternatif untuk struktur kontrol , Operator Ternary
::
Operator Penyelesaian Ruang Lingkup
- Apa arti dua titik dua dalam PHP?
- Apa arti dari nama token PHP T_PAAMAYIM_NEKUDOTAYIM?
- Apa perbedaan antara :: (titik dua) dan -> (panah) di PHP?
- Apa sebenarnya binding statis terlambat di PHP?
- static :: staticFunctionName ()
- T_PAAMAYIM_NEKUDOTAYIM yang tidak terduga, mengharapkan T_NS_Separator
- Apa yang disebut "->" oleh operator PHP dan bagaimana Anda mengatakannya ketika membaca kode dengan keras?
- Di mana kita menggunakan operator objek "->" di PHP?
- Apa perbedaan antara :: (titik dua) dan -> (panah) di PHP?
- Apa arti sintaks PHP $ var1 -> $ var2?
- Apa yang dimaksud "->" di dalam PHP?
=>
Array
- Apa arti "=>" dalam PHP?
- Penggunaan => di PHP
- Apa arti $ k => $ v dalam foreach ($ ex as $ k => $ v) artinya?
- Apa artinya <<< END dalam PHP?
- Ekspresi PHP <<< EOB
- Dalam PHP, apa yang dilambangkan "<<<"?
- Menggunakan <<< CON di PHP
- Apa jenis sintaksis dalam PHP?
- Apa perbedaan antara operator PHP equality (== double equals) dan identitas (=== triple equals)?
- PHP! = Dan == operator
- 3 berbeda sama
- Jenis-juggling dan perbandingan (ketat) lebih besar / lebih kecil dari pada PHP
- Apa artinya "==="?
- Apa perbedaan antara operator PHP equality (== double equals) dan identitas (=== triple equals)?
- 3 berbeda sama
- Jenis-juggling dan perbandingan (ketat) lebih besar / lebih kecil dari pada PHP
- PHP! = Dan == operator
- Apakah ada perbedaan antara! == dan! = Dalam PHP?
- membandingkan,! == dibandingkan! =
- Apa perbedaan antara <> dan! =
- Operator PHP <>
- Operator <> PHP
- Apa perbedaan antara <> dan! =
- Jenis-juggling dan perbandingan (ketat) lebih besar / lebih kecil dari pada PHP
<=>
Operator Perbandingan (sejak PHP 7.0)
- Apa perbedaan antara | | dan || operator?
- Apa Yang Menggunakan Pipa Tunggal '|' Dalam A Function Argument Do?
- Apa perbedaan antara | | dan || operator?
- PHP - dan / atau kata kunci
- Apa yang sebenarnya dilakukan || berarti?
- Perilaku atau operator dalam PHP
+
Operator Aritmatika , Operator Array
+=
dan -=
Operator Penugasan
++
dan --
Operator yang Menambah / Menurunkan
- Perbedaan antara titik dan koma ketika digabungkan dengan gema versus kembali?
- Apa a. (dot) lakukan di PHP?
- Apa maksud $$ (dolar dolar atau dolar ganda) dalam PHP?
- apa itu "$$" dalam PHP
- $ function () dan $$ variabel
[]
Array (sintaks singkat sejak PHP 5.4)
- Array PHP ... Apakah arti dari braket kosong?
- Apa arti dari []
- Php array_push () vs myArray []
- Apa artinya [] saat membaca dari array PHP?
- Singkatan untuk array:
$var = []
array kosong literal
...
Pembongkaran argumen (sejak PHP 5.6)
**
Eksponensial (sejak PHP 5.6)
#
Komentar gaya shell satu baris
:?
Jenis pengembalian tidak dapat dikembalikan
?->
Panggilan Operator NullSafe
/**
?$
variabel, tetapi tentang$$
Variabel Variabel saja. Saya percaya itu harus diubah di suatu tempat.Jawaban:
Operator yang Menambah / Menurunkan
++
operator kenaikan--
operator penurunanIni bisa pergi sebelum atau sesudah variabel.
Jika diletakkan sebelum variabel, operasi kenaikan / penurunan dilakukan ke variabel terlebih dahulu kemudian hasilnya dikembalikan. Jika diletakkan setelah variabel, variabel pertama kali dikembalikan, maka operasi penambahan / penurunan dilakukan.
Sebagai contoh:
Contoh langsung
Dalam kasus di atas
++$i
digunakan, karena lebih cepat.$i++
akan memiliki hasil yang sama.Pra-kenaikan sedikit lebih cepat karena itu benar-benar menambah variabel dan setelah itu 'mengembalikan' hasilnya. Post-increment menciptakan variabel khusus, menyalin nilai dari variabel pertama dan hanya setelah variabel pertama digunakan, menggantikan nilainya dengan variabel kedua.
Namun, Anda harus menggunakan
$apples--
, karena pertama, Anda ingin menampilkan jumlah apel saat ini, dan kemudian Anda ingin mengurangi satu dari itu.Anda juga dapat menambahkan huruf dalam PHP:
Setelah
z
tercapaiaa
berikutnya, dan seterusnya.Posting Stack Overflow:
sumber
Operator Bitwise
Apa itu sedikit? Bit adalah representasi dari 1 atau 0. Pada dasarnya OFF (0) dan ON (1)
Apa itu byte? Sebuah byte terdiri dari 8 bit dan nilai tertinggi dari sebuah byte adalah 255, yang berarti setiap bit diatur. Kita akan melihat mengapa nilai maksimum byte adalah 255.
Representasi 1 Byte ini
1 + 2 + 4 + 8 + 16 + 32 + 64 + 128 = 255 (1 Byte)
Beberapa contoh untuk pemahaman yang lebih baik
Operator "DAN":
&
Ini akan menghasilkan angka 8. Mengapa? Baiklah mari kita lihat menggunakan contoh tabel kita.
Jadi Anda bisa lihat dari tabel, hanya bit yang mereka bagikan adalah 8 bit.
Contoh kedua
Dua bit yang dibagi adalah 32 dan 4, yang bila ditambahkan bersama mengembalikan 36.
Operator "Atau":
|
Ini akan menampilkan angka 11. Mengapa?
Anda akan melihat bahwa kami memiliki 3 bit yang ditetapkan, di kolom 8, 2, dan 1. Tambahkan itu: 8 + 2 + 1 = 11.
sumber
and &
ini0 0 0 0 1 0 0 0
danor |
itu0 0 0 0 1 0 1 1
?<=>
Operator Pesawat Luar AngkasaDitambahkan dalam PHP 7
The Operator pesawat ruang angkasa
<=>
adalah operator perbandingan terbaru ditambahkan dalam PHP 7. Ini adalah non-asosiatif operator biner dengan didahulukan sama operator kesetaraan (==
,!=
,===
,!==
). Operator ini memungkinkan untuk perbandingan tiga arah yang lebih sederhana antara operan kiri dan kanan.Operator menghasilkan ekspresi bilangan bulat dari:
0
ketika kedua operan sama0
ketika operan kiri kurang dari operan kanan0
ketika operan kiri lebih besar dari operan kananmisalnya
Aplikasi praktis yang baik untuk menggunakan operator ini adalah dalam perbandingan jenis panggilan balik yang diharapkan untuk mengembalikan bilangan bulat nol, negatif, atau positif berdasarkan perbandingan tiga arah antara dua nilai. Fungsi perbandingan diteruskan ke
usort
salah satu contohnya.Sebelum PHP 7 Anda akan menulis ...
Sejak PHP 7 Anda dapat menulis ...
sumber
$a <=> $b
bedanya dengan$a - $b
$a - $b
berfungsi untuk angka, tetapi tidak untuk string, objek, atau array.$a - $b
bahkan tidak bekerja untuk angka; ini hanya berfungsi untuk bilangan bulat . Ini tidak berfungsi untuk bilangan non-bilangan bulat, karenausort
melemparkan nilai pengembalian fungsi komparator Anda keint
, yang berarti 0,5 akan dilemparkan ke 0, yang berarti bahwa dua angka dengan selisih kurang dari 1, seperti 4 dan 4.6, dapat (tergantung yang dilewati sebagai argumen pertama ke fungsi komparator Anda) membandingkan secara salah sama._
Alias untuk gettext ()Karakter garis bawah '_' seperti dalam
_()
adalah alias untukgettext()
fungsi.sumber
sumber
Konstanta ajaib : Meskipun ini bukan hanya simbol tetapi bagian penting dari keluarga token ini. Ada delapan konstanta magis yang berubah tergantung di mana mereka digunakan.
__LINE__
: Nomor baris file saat ini.__FILE__
: Path lengkap dan nama file file. Jika digunakan di dalam sebuah menyertakan, nama file yang disertakan dikembalikan. Sejak PHP 4.0.2,__FILE__
selalu berisi path absolut dengan symlink diselesaikan sementara di versi yang lebih lama itu berisi path relatif dalam beberapa keadaan.__DIR__
: Direktori file. Jika digunakan di dalam sebuah include, direktori file yang disertakan dikembalikan. Ini setara dengandirname(__FILE__)
. Nama direktori ini tidak memiliki garis miring kecuali jika itu adalah direktori root. (Ditambahkan dalam PHP 5.3.0.)__FUNCTION__
: Nama fungsi. (Ditambahkan dalam PHP 4.3.0) Pada PHP 5 konstanta ini mengembalikan nama fungsi seperti yang dinyatakan (case-sensitive). Dalam PHP 4 nilainya selalu lebih rendah.__CLASS__
: Nama kelas. (Ditambahkan dalam PHP 4.3.0) Pada PHP 5 konstanta ini mengembalikan nama kelas seperti yang dinyatakan (case-sensitive). Dalam PHP 4 nilainya selalu lebih rendah. Nama kelas termasuk namespace yang dideklarasikan dalam (misalnyaFoo\Bar
). Perhatikan bahwa pada PHP 5.4__CLASS__
berfungsi juga dalam sifat. Ketika digunakan dalam metode sifat,__CLASS__
adalah nama kelas yang digunakan sifat tersebut.__TRAIT__
: Nama sifat. (Ditambahkan dalam PHP 5.4.0) Pada PHP 5.4 konstanta ini mengembalikan sifat seperti yang dinyatakan (case-sensitive). Nama sifat mencakup namespace yang dideklarasikan dalam (misalnyaFoo\Bar
).__METHOD__
: Nama metode kelas. (Ditambahkan dalam PHP 5.0.0) Nama metode dikembalikan seperti yang dinyatakan (case-sensitive).__NAMESPACE__
: Nama namespace saat ini (case-sensitive). Konstanta ini didefinisikan dalam waktu kompilasi (Ditambahkan dalam PHP 5.3.0).Sumber
sumber
Ketik Operator
instanceof
digunakan untuk menentukan apakah variabel PHP adalah objek instantiated dari kelas tertentu.Contoh di atas akan menampilkan:
Alasan: Contoh di atas
$a
adalah objek darimclass
jadi gunakan hanyamclass
data bukan turunan dengansclass
Contoh dengan warisan
Contoh di atas akan menampilkan:
Contoh dengan Clone
Contoh di atas akan menampilkan:
sumber
Gambaran umum operator di PHP :
Operator yang logis:
Operator perbandingan:
Operator Aritmatika:
Operator yang Menambah / Menurunkan:
Operator Bitwise:
Operator String:
Operator Array:
Operator Penugasan:
Catatan
and
operator danor
operator memiliki prioritas lebih rendah dari operator penugasan=
.Ini berarti
$a = true and false;
setara dengan($a = true) and false
.Dalam kebanyakan kasus, Anda mungkin ingin menggunakan
&&
dan||
, yang berperilaku dengan cara yang dikenal dari bahasa seperti C, Java atau JavaScript.sumber
$a ?? $c
, katanya sama dengan$a ? $a : $c
, tetapi operator ternary memeriksa apakah nilainya benar, di sisi lain, null menggabung cek untuk nilai null, jadi, jika $ a adalah 0, Anda akan mendapatkan 0 (karena 0 adalah bukan null), misalnya jika Anda memiliki:$a=0; $c=5;
lalu$a?$a:$c
mengembalikan 5, dan$a??$c
mengembalikan 0.Operator Pesawat Luar Angkasa
<=>
(Ditambahkan dalam PHP 7)Contoh untuk
<=>
operator pesawat ruang angkasa (PHP 7, Sumber: PHP Manual):Integer, Floats, Strings, Array & objek untuk perbandingan variabel tiga arah.
sumber
{}
Kurung kurawalDan beberapa kata tentang posting terakhir
sumber
Operator penggabungan nol (??)
Operator ini telah ditambahkan dalam PHP 7.0 untuk kasus umum yang memerlukan penggunaan operator ternary bersamaan
isset()
. Ini mengembalikan operan pertamanya jika ada dan tidakNULL
; selain itu mengembalikan operan keduanya.sumber
String PHP: String PHP dapat ditentukan dalam empat cara, bukan hanya dua cara:
1) String Kutipan Tunggal:
2) String Kutipan Ganda:
3) Heredoc:
4) Nowdoc (sejak PHP 5.3.0):
sumber
PERTANYAAN:
Apa
=>
artinyaMENJAWAB:
=>
Adalah simbol yang kami manusia putuskan untuk digunakan untuk memisahkan"Key" => "Value"
pasangan dalam Array Asosiatif.MENGURANGI:
Untuk memahami ini, kita harus tahu apa itu Array Asosiatif. Hal pertama yang muncul ketika seorang programmer konvensional memikirkan sebuah array ( dalam PHP ) akan menjadi sesuatu yang mirip dengan:
Sedangkan, jika kita ingin memanggil array di beberapa bagian kode selanjutnya, kita dapat melakukan:
Sejauh ini bagus. Namun, sebagai manusia, kita mungkin sulit mengingat bahwa indeks
[0]
array adalah nilai tahun 2016, indeks[1]
array adalah salam , dan indeks[2]
array adalah nilai integer sederhana . Alternatif yang akan kita miliki adalah menggunakan apa yang disebut sebagai Associative Array . Array asosiatif memiliki beberapa perbedaan dari Sequential Array ( yang merupakan kasus-kasus sebelumnya karena mereka menambah indeks yang digunakan dalam urutan yang telah ditentukan, dengan menambah 1 untuk setiap nilai berikut ).Perbedaan ( antara array berurutan dan asosiatif ):
Selama deklarasi Array Asosiatif, Anda tidak hanya menyertakan
value
apa yang ingin Anda masukkan ke dalam array, tetapi Anda juga meletakkan nilai indeks (disebutkey
) yang ingin Anda gunakan saat memanggil array di bagian selanjutnya dari kode. Sintaks berikut digunakan selama deklarasi itu:"key" => "value"
.Saat menggunakan Array Asosiatif,
key
nilai kemudian akan ditempatkan di dalam indeks array untuk mengambil yang diinginkanvalue
.Contohnya:
Dan sekarang, untuk menerima output yang sama seperti sebelumnya,
key
nilainya akan digunakan dalam indeks array:TITIK AKHIR:
Jadi dari contoh di atas, cukup mudah untuk melihat bahwa
=>
simbol digunakan untuk mengekspresikan hubungan dari Associative Array antara masing-masingkey
danvalue
pasangan dalam array SELAMA inisiasi nilai-nilai dalam array.sumber
Pertanyaan :
Apa artinya "&" di sini di PHP?
Operator PHP "&"
Membuat hidup lebih mudah setelah kita terbiasa .. (lihat contoh di bawah ini dengan cermat)
& biasanya memeriksa bit yang ditetapkan dalam $ a dan $ b ditetapkan.
Jadi di balik semua di atas adalah permainan operator bitwise dan bit.
Salah satu kasus yang bermanfaat dari ini adalah konfigurasi mudah seperti memberi di bawah ini, sehingga bidang bilangan bulat tunggal dapat menyimpan ribuan kombo untuk Anda.
Kebanyakan orang sudah membaca dokumen tetapi tidak mengandalkan kasus penggunaan dunia nyata dari operator bitwise ini.
Contoh Yang Anda Sukai
sumber
==
digunakan untuk memeriksa kesetaraan tanpa mempertimbangkan tipe data variabel===
digunakan untuk cek kesetaraan bagi kedua variabel nilai dan tipe dataContoh
$a = 5
if ($a == 5)
- akan mengevaluasi ke trueif ($a == '5')
- akan mengevaluasi ke true, karena ketika membandingkan kedua nilai ini, PHP secara internal mengubah nilai string tersebut menjadi integer dan kemudian membandingkan kedua nilai tersebutif ($a === 5)
- akan mengevaluasi ke trueif ($a === '5')
- akan mengevaluasi ke false, karena nilai 5, tetapi nilai 5 ini bukan bilangan bulat.sumber
Operator Null Coalesce "??" (Ditambahkan dalam PHP 7)
Bukan nama yang paling menarik untuk seorang operator, tetapi PHP 7 membawa null null yang cukup berguna jadi saya pikir saya akan membagikan sebuah contoh.
Di PHP 5, kami sudah memiliki operator ternary, yang menguji suatu nilai, dan kemudian mengembalikan elemen kedua jika itu mengembalikan true dan yang ketiga jika tidak:
Ada juga singkatan untuk apa yang memungkinkan Anda untuk melompati elemen kedua jika itu sama dengan yang pertama: echo $ count?: 10; // juga menghasilkan 10
Di PHP 7 kita juga mendapatkan ?? Operator yang alih-alih menunjukkan kebingungan ekstrem yang biasanya saya gunakan menggunakan dua tanda tanya bersama-sama memungkinkan kita untuk menyatukan serangkaian nilai. Membaca dari kiri ke kanan, nilai pertama yang ada dan bukan nol adalah nilai yang akan dikembalikan.
Konstruk ini berguna untuk memprioritaskan satu atau lebih nilai yang mungkin datang dari input pengguna atau konfigurasi yang ada, dan dengan aman kembali ke default yang diberikan jika konfigurasi itu hilang. Ini semacam fitur kecil tapi itu salah satu yang saya tahu saya akan gunakan segera setelah aplikasi saya ditingkatkan ke PHP 7.
sumber
Deklarasi tipe pengembalian tidak dapat dibatalkan
PHP 7 menambahkan dukungan untuk deklarasi tipe kembali. Demikian pula untuk deklarasi tipe argumen, deklarasi tipe kembali menentukan tipe nilai yang akan dikembalikan dari suatu fungsi. Tipe yang sama tersedia untuk deklarasi tipe kembali seperti yang tersedia untuk deklarasi tipe argumen.
Pengetikan ketat juga memiliki efek pada deklarasi tipe kembali. Dalam mode lemah default, nilai yang dikembalikan akan dipaksa ke tipe yang benar jika mereka belum dari tipe itu. Dalam mode kuat, nilai yang dikembalikan harus dari jenis yang benar, jika tidak, TypeError akan dibuang.
Pada PHP 7.1.0, nilai kembali dapat ditandai sebagai nullable dengan awalan nama jenis dengan tanda tanya (?). Ini menandakan bahwa fungsi mengembalikan tipe yang ditentukan atau NULL.
Sumber
sumber
Tiga DOTS sebagai Operator Splat (...) (sejak PHP 5.6)
PHP memiliki operator "..." (Tiga titik) yang disebut sebagai Operator percikan. Ini digunakan untuk melewatkan jumlah parameter yang berubah-ubah dalam suatu fungsi dan tipe fungsi ini disebut Fungsi Variadik. Mari kita ambil contoh untuk menggunakan "..." (Tiga titik).
Setiap argumen fungsi calculNumbers () melewati $ params sebagai array saat menggunakan "...".
Ada banyak cara berbeda untuk menggunakan operator "...". Di bawah ini beberapa contoh:
sumber
? -> Operator NullSafe
Untuk saat ini, itu hanya proposal, Anda dapat menemukannya di sini . Ini adalah
NullSafe Operator
, itu kembalinull
jika Anda mencoba untuk memanggil fungsi atau mendapatkan nilai darinull
... Contohsumber
Operator NullSafe "? ->" (mungkin) sejak php8
Untuk saat ini, itu hanya proposal, Anda dapat menemukannya masukkan deskripsi tautan di sini .
?->
itu adalahNullSafe Operator
, ia kembalinull
jika Anda mencoba menjalankan fungsi atau mendapatkan nilai darinull
...Contoh:
sumber