Parantez içinde PHP değişkeni. PHP ifadeleri

Parantez içinde PHP değişkeni. PHP ifadeleri

Son gönderide, PHP'deki koşullu işleç sözdizimine baktık. Bu gönderi, operatör parantezlerine odaklanacak. Onlarla sürekli karşılaşacaksınız. Bu, herhangi bir programlama dilinin temel konseptidir.

Operatör parantezlerinin ne olduğu sorusuna Wikipedia aşağıdakileri yanıtlamamıza yardımcı olacaktır:

Operatör braketleri- programlama dilinde bir bütün olarak algılanan bir komut bloğunu tek bir komut olarak tanımlayan parantezler veya komutlar.

İÇİNDE Pascal dili operatör parantezlerini belirtmek için yapı kullanılır başlamak…. son. C benzeri dillerde (dahil PHP), operatör parantezleri semboller kullanılarak açıklanmıştır. {…} .

Onlar. başka bir deyişle, parantez içindeki birden fazla komut 1 komut olarak değerlendirilir.

Makalede PHP'deki koşullar hakkında bir örnek vardı:

$b) ( echo "A değişkeni B'den büyüktür"; ) else ( echo "B değişkeni A'dan büyüktür"; ) ?>

Bu örnekte operatör parantezleri 2 kez kullanılmıştır. Operatörleri çerçeveliyorlar

  • Eko“A değişkeni B'den büyüktür”;
  • Eko“B değişkeni A'dan büyüktür”;

Bu örnekte, parantez içinde yalnızca 1 ifade vardır, dolayısıyla şu şekilde yazmaya eşdeğerdir:

$b) echo "A değişkeni B'den büyüktür"; else echo "B değişkeni A'dan büyüktür"; ?>

Sözdizimi:

If (koşul) ifadesi 1; başka ifade 2;

Koşul sağlanmazsa başka bir satırın görüntülenmesini istediğimizi varsayalım. Değişkenlerimizin değerlerini de değiştiriyoruz ki artık $a> milyar $. Kodumuzu değiştirelim:

$b) echo "A değişkeni B'den büyüktür."; else echo "B değişkeni A'dan büyüktür."; echo "Evet..yes A aslında B'den küçüktür."; ?>

Yürütüyoruz ... Ekranda ne görüyoruz:

A değişkeni B'den büyüktür. Evet.. evet A aslında B'den küçüktür.

Burada bir yerde bir hata var. Tahmin etmiş olabileceğiniz gibi, asıl mesele şu ki, koşulumuz doğru olduğu için (a > b), kod yürütülür:

Echo "Değişken A, B'den büyüktür.";

şubede başka sadece 1 ifademiz var:

Echo "Değişken B, A'dan büyüktür.";

Koşuldan bağımsız olarak aşağıdaki ifade yürütülecektir. Bunun gibi:

$b) echo "A değişkeni B'den büyüktür."; else echo "B değişkeni A'dan büyüktür."; echo "Evet..yes A aslında B'den küçüktür."; ?>

Şimdi operatör parantezleri kullanıyoruz ve 2 ifadeyi bir dalda birleştiriyoruz başka:

$b) ( echo "A değişkeni B'den büyüktür"; ) else ( echo "B değişkeni A'dan büyüktür "; echo "Evet..evet A aslında B'den küçüktür "; ) ?>

Kod çok daha net hale geldi. Şimdi PHP($a > $b) koşulu sağlanmazsa 2 satır gösterilmesi gerektiğini anlar. Ve koşul doğruysa - sadece bir tane.

sen büyüksün tavsiye- birkaç ifadeyi 1 blokta birleştirmeniz gerekmese bile her zaman ifade parantezleri kullanın. Gerçek şu ki:

  • kod bu şekilde daha iyi görünüyor. Koda hızlı bir göz attığımızda, harf ve rakamlardan oluşan bir salata değil, bireysel bloklarını görüyoruz.
  • eski kodun genellikle değiştirilmesi gerekir. Operatör parantezleriniz yoksa ve (bizim durumumuzda olduğu gibi) bazı kodlar eklediyseniz, program mantığı yanlış olacaktır. Hemen fark etmeyebilirsin bile.

$GLOBAL değişkeni. içinde tanımlanan tüm betik genel kapsam değişkenlerine referanslar içeren bir ilişkisel dizi (dizi) şu an. Değişken adları dizi anahtarlarıdır.

Global bir değişken bildirmek için $GLOBALS dizisine yerleştirmek yeterlidir.

$GLOBALS["testkey2"]="testvalue2";

print_r($GLOBALS); kullanarak $GLOBALS dizi değişkenlerinin tüm değerlerini ekrana yazdırabilirsiniz. veya bunun gibi:

Foreach ($GLOBALS as $key=>$value) echo "GLOBALS[".$key."] == ".$value."
";

Değişken $_SERVER.

    Değişken $_REQUEST- varsayılan olarak $_GET, $_POST ve $_COOKIE değişkenlerinin verilerini içeren bir ilişkisel dizi (dizi). $_REQUEST dizisindeki değişkenler komut dosyasına GET, POST veya COOKIE yöntemleri aracılığıyla iletilir, bu nedenle güvenilir olamazlar çünkü uzaktaki bir kullanıcı tarafından değiştirilmiş olabilirler. Bunların mevcudiyeti ve ilgili dizilere veri ekleme sırası,variables_order direktifi tarafından belirlenir (varsayılan olarak GPCS ayarlanmıştır).

    Değişken $_SESSION

    Değişken $_ENV. Komut dosyası şuradan başlatıldıysa doldurulur: Komut satırı. $_SERVER dizisi, $_ENV dizisindeki tüm değişkenleri içerecektir.

    Değişken $http_response_header

Basit Sözdizimi

Tercüman bir dolar işaretiyle ($) karşılaşırsa, geçerli bir değişken adı oluşturmak için mümkün olduğu kadar çok karakter yakalar. Bir adın sonunu tam olarak tanımlamak istiyorsanız, değişken adını parantez.

$bira = "Heineken" ;
echo "$beer"ın tadı harika" ; // çalışır, """ değişken adı için geçersiz bir karakterdir
echo "Biraz $bira içti" ; // çalışmıyor, "s" değişken adı için geçerli bir karakter
echo "Biraz $(bira) içti" ; // İşler
echo "Biraz ($bira) içti" ; // İşler
?>

Benzer şekilde, bir dizi öğesi işlenebilir ( sıralamak) veya nesne özelliği ( nesne). Dizi dizinlerinde, kapanış köşeli parantez ( ] ) dizin tanımının sonunu işaretler. Nesne özellikleri için basit değişkenlerle aynı kurallar geçerlidir, ancak bunlar için değişkenler gibi hile yoktur.

// Bu örnekler özellikle dizileri dahili olarak kullanmakla ilgilidir.
// satırlar. Dizelerin dışında, her zaman dizinizin anahtarlarını içine alın.
// diziyi tırnak içine alın ve dizelerin (parantezler) dışında kullanmayın.

// Tüm hataları gösterelim
error_reporting(E_ALL);

$meyve = array("çilek" => "kırmızı" , "muz" => "sarı" );

// Çalışır, ancak alıntılanan dizenin dışında farklı çalıştığını unutmayın
Eko "Bir muz meyvedir.";

//İşler
Eko "Bir muz ($meyveler["muz"])'dur.";

// Çalışır, ancak PHP aşağıda açıklandığı gibi önce
// sabit muz.
Eko "Bir muz ($meyve).";

// Çalışmıyor, süslü parantez kullanın. Bu işlem hatasına neden olur.
Eko "Bir muz $meyvedir["muz"].;

// İşler
echo "Bir muz" . $meyveler ["muz"] . "." ;

// İşler
Eko "Bu kare $kare->genişlik metre genişliğindedir.";

// Çalışmıyor. Çözüm için karmaşık sözdizimine bakın.
Eko "Bu kare $square->width00 santimetre genişliğindedir.";
?>

Daha fazlası için zorlu görevler karmaşık sözdizimini kullanabilirsiniz.

Karmaşık (kıvrık) sözdizimi

Bu sözdizimi anlaşılması zor olduğu için değil, karmaşık ifadelerin kullanımına izin verdiği için karmaşık olarak adlandırılır.

Aslında, bu sözdizimiyle bir satıra ad alanlı herhangi bir değer ekleyebilirsiniz. İfadeyi dizgenin dışında yazdığınız şekilde yazmanız ve ardından ( ve ) içine sarmanız yeterlidir. "(" dan kaçamayacağınız için, bu sözdizimi yalnızca $'ın hemen ardından geldiğinde tanınacaktır (. ("(\$" veya "\($" kullanarak "($") ifadesini kullanın). Bazı açıklayıcı örnekler:

// Tüm hataları gösterelim
error_reporting(E_ALL);

$harika = "harika" ;

// Çalışmıyor, çıktılar: Bu ( harika)
echo "Bu ($harika)" ;

// Çalışır, çıktılar: Bu harika
echo "Bu ($harika)" ;
echo "Bu $(harika)" ;

// İşler
Eko "Bu kare ($kare->genişlik)00 santimetre genişliğindedir.";

// İşler
Eko "Bu çalışır: ($arr)";

// Bu, $foo'nun dışarıda yanlış olmasıyla aynı nedenle yanlış
// satırlar. Başka bir deyişle, yine de çalışacak
// ancak PHP önce foo sabitini aradığından, bu arayacak
// E_NOTICE seviye hatası (tanımsız sabit).
Eko "Bu yanlış: ($arr)";

// İşler. Çok boyutlu diziler kullanılırken, içeride
// dizeler her zaman kıvrık parantez kullanır
Eko "Bu çalışır: ($arr["foo"])";

// İşler.
echo "Bu çalışır: " . $dizi [ "foo" ][ 3 ];

Eko "($obj->values->name) bile yazabilirsiniz";

Eko "Bu, $name isimli değişkenin değeridir: ($($name))";
?>

Dizelerdeki karakterler, dizenin başından itibaren sıfırdan başlayarak, dizgeden sonra kaşlı ayraçlar içinde konumları belirtilerek kullanılabilir ve değiştirilebilir. İşte bazı örnekler:

// Stringin ilk karakterini al
$str = "Bu bir testtir." ;
$ilk = $str ( 0 );

// Dizenin üçüncü karakterini al
$üçüncü = $str ( 2 );

// stringin son karakterini al
$str = "Hala bir test.";
$son = $str (strlen ($str ) - 1 );

// stringin son karakterini değiştir
$str = "Denize bak";
$str(strlen($str)-1) = "i";

?>

Dize işlevleri ve işleçler

Dize Operatörleri

Farklı programlama dilleri, farklı dizi birleştirme (birleştirme) operatörleri kullanır. Örneğin, Pascal "+" operatörünü kullanır. PHP'nin dize birleştirme için "+" operatörünü kullanması yanlıştır: dizeler sayı içeriyorsa, dizeleri birleştirmek yerine iki sayı toplama işlemi gerçekleştirilecektir.

PHP, birleştirme gerçekleştiren iki operatöre sahiptir.

Birincisi, sol ve sağ bağımsız değişkenlerin birleştirilmesini döndüren birleştirme işlecidir (".").

İkincisi, sağ argümanı sol argümana ekleyen birleştirme atama operatörüdür.

Somut bir örnek verelim:

$a = "merhaba";
$b = $a . "Dünya!" ; // $b "Merhaba Dünya!" dizesini içerir. - Bu bir birleştirmedir

$a = "merhaba";
$a .= "Dünya!" ; // $a "Merhaba Dünya!" dizesini içerir. - Bu, birleştirme içeren bir atamadır
?>

Dizi Karşılaştırma Operatörleri

== ve != karşılaştırma işleçleri, tür dönüştürme gerektirdiklerinden dize karşılaştırmaları için önerilmez. Örnek:

$ x = 0 ;
$ y = 1 ;
if ($x == "" ) yankı "

X- boş satır

" ;
if($y=="" ) yankı "

y - boş dize

"
;
// Çıktılar:
// x - boş dizi
?>

Bu komut dosyası bize $x'in boş bir dize olduğunu söyler. Bunun nedeni, boş dizenin ("") önce 0 ve ancak daha sonra "boş" olarak ele alınmasıdır. PHP'de işlenenler, yalnızca her ikisi de diziyse dizeler olarak karşılaştırılır. Aksi takdirde, sayı olarak karşılaştırılır. Bu durumda, PHP'nin bir sayıya dönüştüremediği herhangi bir dizi (boş dizi dahil) 0 olarak ele alınacaktır.

Dize karşılaştırma örnekleri:

$x = "Dize";
$y = "Dize";
$z = "Çizgi" ;
if ($x == $z ) yankı "

Satır X, Z satırına eşittir

" ;
if ($ x == $ y ) yankı "

Satır X, Y satırına eşittir

"
;
if ($ x != $ z ) yankı "

X dizisi, Z dizisine eşit DEĞİLDİR

"
;
// Çıktılar:
// X dizisi, Y dizisine eşittir

?>

Karışıklığı ve tür dönüşümlerini önlemek için, dizeleri karşılaştırırken eşdeğerlik operatörünün kullanılması önerilir. Eşdeğerlik operatörü, değerleri hem değere hem de türe göre karşılaştırdığından, dizeleri her zaman doğru bir şekilde karşılaştırmanıza olanak tanır:

$x = "Dize";
$y = "Dize";
$z = "Çizgi" ;
if ($x === $z ) yankı "

Satır X, Z satırına eşittir

" ;
if ($ x === $ y ) yankı "

Satır X, Y satırına eşittir

"
;
if ($ x !== $ z ) yankı "

X dizisi, Z dizisine eşit DEĞİLDİR

"
;
// Çıktılar:
// X dizisi, Y dizisine eşittir
// X dizisi, Z dizisine eşit DEĞİLDİR
?>

Merhaba sevgili acemi programcılar. Bizi oluşturan elementleri incelemeye devam edelim.

Bu yazımızda php deyimlerinin ne olduğunu öğreneceğiz. Hatta bazılarını neredeyse çocukluğumuzdan beri tanıyoruz, sadece işaretler (+, -, =, !, ?) olarak biliyoruz.

Php'de hepsine operatörler denir ve bu oldukça mantıklıdır, çünkü belirli bir eylemi veya işlemi gerçekleştirirler.

Hatta bir harf veya sayı olmayan tüm basılı karakterlerin php'de operatörler olduğunu söyleyebilirsiniz. Ancak harflerden oluşan operatörler olduğu için hepsi bu kadar değil.

Sırayla başlayalım.

Aritmetik operatörler

Aritmetik operatörler, sayılar üzerinde işlem yapmak için kullanılır.

+ toplama işlecidir;
— — çıkarma operatörü;
/ bölme operatörüdür;
* çarpma operatörüdür;
% - bölerken kalanı elde etmek için operatör;
++ - operatörü bir artır (artırma);
— — — operatörü bir azaltma (azaltma)

Yazarken, genellikle operatörden önce ve sonra bir boşluk bırakılır. Bu, yalnızca kodu okumanın rahatlığı için yapılır, ancak bu alan hiçbir şeyi etkilemez ve dilerseniz onsuz da yapabilirsiniz.

Karmaşık ifadeler, aritmetikte kabul edilen kurallara göre oluşturulur, yani çarpma ve bölme, toplama ve çıkarmadan önce gelir ve ifadede her ikisi de mevcutsa, ikincisi parantez içine alınır.

yankı (6 + 7 ) * (7 + 8 ); // 195
?>

Bir tam sayıyı bir tam sayıya bölme işlemi yapılırken kalanın elde edilmesi durumunda sonuç otomatik olarak şuna çevrilir: gerçek Numara(kayan noktalı sayı).

yankı 8/3 ; //2.66666666666
?>

Kesirli bir sayı için görüntülenen karakter sayısı, php.ini dosyasında bulunan kesinlik yönergesinde ayarlanan değere bağlıdır. Bu genellikle 12 karakterdir, noktayı saymaz.

% operatörü genellikle bir sayının diğerine kalansız bölünüp bölünmediğini belirlemek için kullanılır.

yankı 53328 %4; //0
?>

ile eylemler aritmetik operatörler artırma ve eksiltme hariç, denir ikili, çünkü iki işlenen içerirler (terim + terim, bölünen / bölen, vb.)

Artırma ve eksiltme işlemlerine denir. tekli, çünkü bir işlenen içerirler. biraz daha var mı koşullu işlemüç işlenen içerir.

Arttırma (++) ve eksiltme (- -) işleçleri yalnızca değişkenler için geçerlidir.

Değişken türü tamsayı (tamsayılar)

$sonraki = 3 ;
yankı ++$sonraki; // 4
?>

Değişken türü dize (dize)

$sonraki = "abc";
yankı $sonraki; // abd
?>

Alfabede bir sonraki harf olduğu için "c" harfi yerine "d" harfi gösteriliyor ve değişkenin değerini bir artırmış olduk.

Örnekler, artırımlı eylemleri göstermektedir ve aynı şekilde eksiltmeli eylemleri gerçekleştirebilirsiniz.

Bitsel Operatörler

Bitsel operatörler, ikili veriler üzerinde çalışacak şekilde tasarlanmıştır. Birisinin ne olduğu hakkında bir fikri yoksa, açıklayacağım. ikili sayılar 1001000011100000111000 gibi sayılardır.

Bu tür veriler web sitelerinin geliştirilmesinde neredeyse hiç kullanılmadığından, bunlar üzerinde ayrıntılı olarak durmayacağız. Sadece nasıl göründüklerini göstereceğim, böylece bu tür sembollerle karşılaştığınızda neyle uğraştığınızı hayal edebilirsiniz.

& - bit düzeyinde bağlantı VE (ve);
~ — bit düzeyinde olumsuzlama (değil);
| - bitsel birleşim OR (veya);
^ - bit düzeyinde istisna VEYA (xor);
<< — сдвиг влево битового значения операнда;
>> - işlenenin bit değerinin sağına kaydır;

İkili veriler, programların geliştirilmesinde yaygın olarak kullanıldığından, bu operatörlerle karşılaşmak oldukça olasıdır. bilgisayar grafikleri. Ancak bunları incelemek için, birinin ihtiyacı varsa, başka bir kaynakta ayrı bir kurs almanız gerekecek.

Karşılaştırma Operatörleri

Karşılaştırma işleçleri mantıksal işleçlerdir ve değişkenleri karşılaştırmak için kullanılır. Diziler ve nesneler bunlar kullanılarak karşılaştırılamaz.

> - operatörden daha büyük;
=> - işleçten büyük veya eşittir;
< — оператор меньше;
<= — оператор меньше или равно;
== - eşitlik operatörü;
!= — eşitsizlik operatörü;
=== - denklik operatörü (değişkenin değeri ve türü eşittir);
!== - eşdeğerlik işleci;

Karşılaştırma sonucunda ekranda ya doğruya (doğru) karşılık gelen bir birim ya da yanlışa (yanlış) karşılık gelen boş bir dizi görüntülenir.

yankı 1 > 0 ; // 1
yankı 1< 0 ; // пустая строка
yankı 1 => 0 ; // 1
yankı 1 == 1 ; // 1
?>

Dolayısıyla, kendi başlarına karşılaştırma işleçleri neredeyse hiç kullanılmaz. Ana amaçları, if ifadesiyle birlikte çalışmaktır.

Koşullu ifadeler if, else, elseif .

Koşullu ifadeler, hangi eylemin gerçekleştirildiğine bağlı olarak belirli bir koşulu test etmek için tasarlandıkları için böyle adlandırılır.

Argüman olarak, if ifadesi bir boole değişkeni veya bir ifade alır. Koşul doğruysa sonuç görüntülenir, doğru değilse boş bir dize.



eğer ($sonraki< $nexT)
{
echo "Olası yağış"; // Süzülmüş Yağış mümkün
}
?>

$next = "Hava nemi %80";
$nexT = "Hava nemi %90";
eğer ($sonraki > $sonrakiT)
{
echo "Olası yağış"; // Boş dizi çıktısı
}
?>

Programın, değer doğru olduğunda ve diğeri yanlış olduğunda gerçekleştirilecek iki eylem belirlemesi gerekiyorsa, o zaman if deyimi ile birlikte else deyimi kullanılır.

$next = "Hava nemi %80";
$nexT = "Hava nemi %90";
eğer ($sonraki > $sonrakiT)
{
echo "Olası yağış";
}
başka
{
echo "Yağış beklenmiyor";
}
?>

Bu durumda ekrana “Yağmur beklenmiyor” ifadesi gelecek ve ifadedeki “Daha Fazla” işareti “Az” olarak değiştirilirse “Yağış Olabilir” mesajı görüntülenecektir. Koşullu ifadeler bu şekilde koşulu kontrol eder ve ona göre doğru sonucu verir.

Çoğu zaman ikiden fazla koşul belirtmeye ihtiyaç vardır ve ardından bunları sırayla kontrol etmek için elseif operatörü kullanılır.



eğer ($sonraki > $sonrakiT)
{
yankı "Temizle";
}
başka if ($sonraki<= $nexT)
{
yankı "Kar";
}
başka if ($sonraki >= $sonrakiT)
{
yankı "Yağmur";
}
başka if ($sonraki == $sonrakiT)
{
yankı "kuraklık";
}
başka
{
echo "Olası yağış";
}
?>

Bu program "Kar" yazacaktır. Koşullardan hiçbiri eşleşmezse, "Yağış mümkündür" mesajı görüntülenecektir.

if ifadesi, istediğiniz kadar elseif bloğu ve yalnızca bir elseif ifadesi içerebilir.

Kaşlı ayraçlar olmadan alternatif bir gösterime izin verilir. Bu durumda, if, else, elseif ifadelerinin satırları iki nokta üst üste ile biter ve tüm yapı anahtar kelime(operatör) endif .

$next = "Hava nemi %50";
$nexT = "Hava nemi %60";
eğer ($sonraki<= $nexT):

yankı "Kar";

başka if ($sonraki >= $sonrakiT):

yankı "Yağmur";

başka if ($sonraki == $sonrakiT):

yankı "kuraklık";

başka:

echo "Olası yağış";
endif;
?>

Mantıksal operatörler

Mantıksal işleçler, bitsel işleçlere benzer. Aralarındaki fark, birincisinin mantıksal değişkenlerle, ikincisinin ise rakamlarla çalışmasıdır.

Mantıksal işleçler, birden çok koşulu birleştirmeniz gerektiğinde kullanılır, bu da if ifadelerinin sayısını azaltır ve bu da kodda hata olasılığını azaltır.

&& - bağlantı birliği VE;
ve - ayrıca VE, ancak daha düşük bir önceliğe sahip;
|| - ayırma birliği VEYA;
veya - ayrıca VEYA, ancak daha düşük bir önceliğe sahip;
xor - özel bir öğe VEYA;
! - inkar;

Daha düşük öncelik, her iki operatör varsa, daha yüksek önceliğe sahip olanın önce çalıştırılacağı anlamına gelir.

Gelecekte, daha karmaşık betik örneklerini kullanarak, mantıksal işleçler üzerinde daha ayrıntılı olarak duracağız.

atama operatörü

Atama operatörü = sağ işlenenin değerini sol işlenene atar.

$sonraki = "Merhaba"
yankı "Merhaba" // Merhaba
?>

nokta operatörü

Nokta operatörü, bir sayının tamsayı kısmını kesirli kısmından ayırır ve birden çok diziyi ve bir sayıyı tek bir tam dizide birleştirir.

$sonraki = 22 ;
yankı "Bugünden sonra" .$sonraki. "don bekleniyor"; // Bugün 22'den sonra donma bekleniyor
?>

parantez operatörü

Matematikte olduğu gibi, parantez operatörü parantez içindeki eyleme öncelik verir.

Parantez içindeki veriler önce yürütülür, sonra her şey.

Kıvrımlı parantez operatörü

PHP'de kaşlı ayraçları yerleştirmenin üç yolu, hatta stili vardır.

1. BSD stili - parantezler sola hizalıdır.

eğer ($sonraki)
{

}

2. GNU stili - parantezler sol kenardan bir girinti ile hizalanır

eğer ($sonraki)
{
echo "Merhaba sevgili acemi programcılar";
}

3. K&R stili - parantez operatör satırında açılır

eğer ($sonraki)(
echo "Merhaba sevgili acemi programcılar";
}

En başından beri, stillerden birini seçmeniz ve gelecekte komut dosyası yazarken yalnızca onu kullanmanız gerekir. Ve hangi stili seçtiğiniz önemli değil. Program boyunca tutarlı olması önemlidir.

Şimdilik bu kadar yeter diye düşünüyorum. Prensip olarak, sadece işaretler değil, aynı zamanda işlevler ve diğer öğeler de operatör olabilir, bu nedenle hepsini listelemek çok zordur ve gerek yoktur.

Temel bilgiler hakkında fikir sahibi olmak yeterlidir. Ve geri kalanı pratik örnekler üzerinde analiz edilecektir.

Bir İrlandalı, Sheremetyevo Havalimanı'nda gözyaşları içinde dolaşıyor. Çalışanlardan biri sempati duymaya karar verdi:
- Vatanını özlüyor musun?
- Hiç de bile. Az önce tüm bagajımı kaybettim
- Bu nasıl olabilir?
"Kendimi anlamıyorum. Fişi takmış gibisin

Dize enterpolasyonu için. Kılavuzdan:

Karmaşık (kıvrık) sözdizimi

Karmaşık olarak adlandırılmaz çünkü sözdizimi karmaşıktır ve bu nedenle karmaşık ifadelere izin verir.

Bu sözdizimi aracılığıyla herhangi bir skaler değişken, dizi öğesi veya bir dize temsili olan nesne özelliği dahil edilebilir. İfadeyi dizgenin dışında olduğu gibi yazın ve ardından ( ve ) içine sarın. ( çıkış yapılamadığı için, bu sözdizimi yalnızca $'ı takip ettiğinde tanınacaktır ( . bir hazır bilgi almak için (\$) kullanın ($ . Açıklığa kavuşturmak için bazı örnekler:

genişlik)00 santimetre geniş."; // Çalışır, alıntılanan tuşlar yalnızca kaşlı ayraç sözdizimini kullanarak çalışır echo "Bu çalışır: ($arr["key"])"; // Çalışır echo "Bu çalışır: ($arr)" ; // Bu, $foo'nun bir dizge dışında yanlış olmasıyla aynı nedenle yanlıştır. // Diğer bir deyişle, çalışmaya devam edecektir, ancak bunun tek nedeni PHP'nin önce foo adında bir // sabiti araması; E_NOTICE düzeyinde bir hata ( // atılacak. echo "Bu yanlış: ($arr)"; // Çalışıyor. Çok boyutlu diziler kullanırken, dizilerin etrafında her zaman parantez kullanın // stringlerin içindeyken echo "Bu işe yarıyor: ($ arr["foo"])"; // Çalışıyor. echo "Bu çalışıyor: " . $arr["foo"]; echo "Bu da çalışıyor: ($obj->değerler->isim)"; echo "Bu $name adlı değişkenin değeri: ($($name))"; echo "Bu, getName()'in dönüş değeri tarafından adlandırılan değişkenin değeridir: ($(getName()))"; echo "Bu \$object->getName()'in dönüş değeri tarafından adlandırılan varın değeridir: ($($object->getName()))"; // Çalışmaz, çıktılar: Bu, dönüş değeridir getName(): (getName()) echo "Bu, getName()'in dönüş değeridir: (getName())"; ?>

Genellikle bu sözdizimi gerekli değildir. Örneğin, bu:

$a = "abcd"; $out = "$a $a"; // "abcd abcd";

tam olarak şu şekilde davranır:

$out = "($a) ($a)"; // Aynı

Yani kaşlı ayraçlara gerek yoktur. Ama bu:

$out = "$aefgh";

hata seviyenize bağlı olarak ya başarısız olur ya da $aefgh adında bir değişken olmadığı için bir hata üretir, bu nedenle şunları yapmanız gerekir:

$out = "$(a)efgh"; // veya $out = "($a)efgh";