Bu, PHP'de sözdizimi hakkında ara sıra ortaya çıkan soruların bir derlemesidir. Bu aynı zamanda bir Topluluk Wiki'sidir, bu nedenle herkes bu listenin sürdürülmesine katılmaya davetlidir.
Eskiden operatörler ve diğer sözdizimi simgeleri hakkında soru bulmak zordu.¹
Ana fikir, Stack Overflow'daki mevcut sorulara bağlantılar vermektir, böylece PHP Kılavuzundan içerik kopyalamak yerine onlara başvurmamız daha kolay olacaktır.
Not: Ocak 2013'ten beri Stack Overflow özel karakterleri desteklemektedir. Arama terimlerini tırnak içine almanız yeterlidir, örneğin [php] "==" vs "==="
Böyle bir soru sorduğunuz için birileri tarafından buraya yönlendirildiyseniz, lütfen aşağıda belirli sözdizimini bulun. Bağlantılı sorularla birlikte PHP el kitabı bağlantılı sayfalar muhtemelen sorunuzu yanıtlayacaktır. Eğer öyleyse, cevabı yukarı oylamanız önerilir. Bu liste başkalarının sağladığı yardımın yerine geçmez.
&
Bitsel Operatörler veya Referanslar
=&
Referanslar
?:` Üçlü Operatör
??` Null Coalesce Operator (PHP 7'den beri)
?string
?int
?dizi
?bool
?float
Nullable dönüş türü bildirimi (PHP 7.1'den beri)
=>
Diziler
<=>
Karşılaştırma İşleçleri (PHP 7.0'dan beri)
+=
ve -=
Atama Operatörleri
++
ve --
Artırma/Azaltma Operatörleri
,
Değişken Bildirimleri`` `` Yürütme Operatörü
[]` Diziler (PHP 5.4'ten beri kısa sözdizimi)
$var = []
boş dizi**
Üs alma (PHP 5.6'dan beri)++
artırma işleci
--
azaltma işleci
Example Name Effect
---------------------------------------------------------------------
++$a Pre-increment Increments $a by one, then returns $a.
$a++ Post-increment Returns $a, then increments $a by one.
--$a Pre-decrement Decrements $a by one, then returns $a.
$a-- Post-decrement Returns $a, then decrements $a by one.
Bunlar değişkenden önce veya sonra gelebilir.
Değişkenden önce konursa, artırma/azaltma işlemi önce değişkene yapılır, ardından sonuç döndürülür. Değişkenden sonra konursa, değişken önce döndürülür, ardından artırma/azaltma işlemi yapılır.
Örneğin:
$apples = 10;
for ($i = 0; $i < 10; ++$i) {
echo 'I have ' . $apples-- . " apples. I just ate one.\n";
}
Yukarıdaki durumda, daha hızlı olduğu için ++$i
kullanılır. $i++
da aynı sonuçları verecektir.
Pre-increment biraz daha hızlıdır çünkü değişkeni gerçekten artırır ve bundan sonra sonucu 'return' eder. Post-increment özel bir değişken yaratır, ilk değişkenin değerini oraya kopyalar ve sadece ilk değişken kullanıldıktan sonra, değerini ikinci ile değiştirir.
Ancak, $apples--
kullanmanız gerekir, çünkü önce mevcut elma sayısını görüntülemek ve sonra bundan bir tane çıkarmak istersiniz.
PHP'de harfleri de artırabilirsiniz:
$i = "a";
while ($i < "c") {
echo $i++;
}
z' ye ulaşıldığında sırada `aa' vardır ve bu böyle devam eder.
Karakter değişkenlerinin artırılabileceğini ancak azaltılamayacağını ve buna rağmen yalnızca düz ASCII karakterlerinin (a-z ve A-Z) desteklendiğini unutmayın.
Stack Overflow Gönderileri:
Biraz nedir? Bit, 1 veya 0'ın temsilidir. Temel olarak KAPALI(0) ve AÇIK(1)
Bayt nedir? Bir bayt 8 bitten oluşur ve bir baytın en yüksek değeri 255'tir, bu da her bitin ayarlandığı anlamına gelir. Bir baytın maksimum değerinin neden 255 olduğuna bakacağız.
-------------------------------------------
| 1 Byte ( 8 bits ) |
-------------------------------------------
|Place Value | 128| 64| 32| 16| 8| 4| 2| 1|
-------------------------------------------
Bu 1 Bayt gösterimi
1 + 2 + 4 + 8 + 16 + 32 + 64 + 128 = 255 (1 Bayt)
&
$a = 9;
$b = 10;
echo $a & $b;
Bu, 8 sayısının çıktısını verir. Neden? Tablo örneğimizi kullanarak görelim.
-------------------------------------------
| 1 Byte ( 8 bits ) |
-------------------------------------------
|Place Value | 128| 64| 32| 16| 8| 4| 2| 1|
-------------------------------------------
| $a | 0| 0| 0| 0| 1| 0| 0| 1|
-------------------------------------------
| $b | 0| 0| 0| 0| 1| 0| 1| 0|
-------------------------------------------
| & | 0| 0| 0| 0| 1| 0| 0| 0|
-------------------------------------------
Tablodan da görebileceğiniz gibi, birlikte paylaştıkları tek bit 8 bittir.
İkinci örnek
$a = 36;
$b = 103;
echo $a & $b; // This would output the number 36.
$a = 00100100
$b = 01100111
Paylaşılan iki bit 32 ve 4'tür ve bunlar toplandığında 36 sonucunu verir.
|
$a = 9;
$b = 10;
echo $a | $b;
Bu, 11 sayısının çıktısını verir. Neden?
-------------------------------------------
| 1 Byte ( 8 bits ) |
-------------------------------------------
|Place Value | 128| 64| 32| 16| 8| 4| 2| 1|
-------------------------------------------
| $a | 0| 0| 0| 0| 1| 0| 0| 1|
-------------------------------------------
| $b | 0| 0| 0| 0| 1| 0| 1| 0|
-------------------------------------------
| | | 0| 0| 0| 0| 1| 0| 1| 1|
-------------------------------------------
8, 2 ve 1 sütunlarında ayarlanmış 3 bitimiz olduğunu fark edeceksiniz. Bunları toplayın: 8+2+1=11.
Syntax Name Description
x == y Equality True if x and y have the same key/value pairs
x != y Inequality True if x is not equal to y
x === y Identity True if x and y have the same key/value pairs
in the same order and of the same types
x !== y Non-identity True if x is not identical to y
++ x Pre-increment Increments x by one, then returns x
x ++ Post-increment Returns x, then increments x by one
-- x Pre-decrement Decrements x by one, then returns x
x -- Post-decrement Returns x, then decrements x by one
x and y And True if both x and y are true x=6 y=3
(x < 10 and y > 1) returns true
x && y And True if both x and y are true x=6 y=3
(x < 10 && y > 1) returns true
a . b Concatenation Concatenate two strings: "Hi" . "Ha"