Php változó zárójelben. PHP utasítások

Php változó zárójelben. PHP utasítások

Az utolsó bejegyzésben megnéztük a PHP feltételes operátor szintaxisát. Ez a bejegyzés a kezelői zárójelekre fog összpontosítani. Folyamatosan találkozni fogsz velük. Ez minden programozási nyelv alapkoncepciója.

Arra a kérdésre, hogy mi az operátori zárójel, a Wikipédia segít megválaszolni:

Kezelői konzolok- zárójelek vagy parancsok, amelyek egy parancsblokkot határoznak meg a programozási nyelvben, egészként értelmezve, egyetlen parancsként.

BAN BEN Pascal nyelv operátori zárójelek jelölésére a konstrukciót használjuk kezdődik…. vége. A C-szerű nyelvekben (beleértve PHP), a kezelői zárójelek leírása a szimbólumokkal történik {…} .

Azok. más szavakkal, a zárójelben lévő több parancsot 1 parancsként kezeli.

A cikkben volt egy példa a PHP feltételeiről:

$b) ( echo "A változó nagyobb, mint B"; ) else ( echo "B változó nagyobb, mint A"; ) ?>

Ebben a példában a kezelői zárójeleket kétszer használjuk. Bekereteznek operátorokat

  • visszhang„Az A változó nagyobb, mint B”;
  • visszhang„B változó nagyobb, mint A”;

Ebben a példában csak 1 állítás van zárójelben, tehát ez egyenértékű a következő írással:

$b) echo "A változó nagyobb, mint B"; else echo "B változó nagyobb, mint A"; ?>

Szintaxis:

Ha (feltétel) kifejezés 1; else kifejezés 2;

Tegyük fel, hogy egy másik sort szeretnénk megjeleníteni, ha a feltétel nem teljesül. Változóink értékeit is megváltoztatjuk, így most $a volt > $b. Módosítsuk a kódunkat:

$b) echo "Az A változó nagyobb, mint B. "; else echo "B változó nagyobb, mint A."; echo "Igen..igen A valójában kisebb, mint B. "; ?>

Végrehajtjuk... Amit a képernyőn látunk:

Az A változó nagyobb, mint B. Igen... igen A valójában kisebb, mint B.

Itt valahol hiba van. Ahogy azt már sejtette, a lényeg az, hogy mivel a feltételünk igaz (a > b), a kód lefut:

Echo "Az A változó nagyobb, mint B.";

Elágazásban más csak 1 kifejezésünk van:

Echo "B változó nagyobb, mint A.";

A következő kifejezés a feltételtől függetlenül végrehajtásra kerül. Mint ez:

$b) echo "Az A változó nagyobb, mint B. "; else echo "B változó nagyobb, mint A."; echo "Igen..igen A valójában kisebb, mint B. "; ?>

Most operátori zárójeleket használunk, és 2 kifejezést kombinálunk egy ágban más:

$b) ( echo "Az A változó nagyobb, mint B. "; ) else ( echo "B változó nagyobb, mint A. "; echo "Igen..igen A valójában kisebb, mint B. "; ) ?>

A kód sokkal világosabb lett. Most PHP megérti, hogy ha a feltétel ($a > $b) nem teljesül, 2 sort kell megjeleníteni. És ha a feltétel igaz - csak egy.

én te nagy tanács- mindig használjon utasítási zárójeleket, még akkor is, ha nem kell több utasítást 1 blokkba egyesíteni. A tény az, hogy:

  • így jobban néz ki a kód. Egy gyors pillantást vetve a kódra, az egyes blokkjait látjuk, nem pedig betűk és számok salátáját.
  • a régi kódot gyakran módosítani kell. Ha nem rendelkezett operátori zárójelekkel, és (mint esetünkben) hozzáadott valamilyen kódot, akkor a program logikája hibás lesz. Lehet, hogy észre sem veszi azonnal.

$GLOBALS változó. Egy asszociatív tömb (tömb), amely hivatkozásokat tartalmaz a szkriptben definiált összes globális hatókör-változóra Ebben a pillanatban. A változónevek tömbkulcsok.

Egy globális változó deklarálásához elegendő a $GLOBALS tömbbe helyezni

$GLOBALS["tesztkulcs2"]="tesztérték2";

A $GLOBALS tömbváltozók összes értékét kinyomtathatja a képernyőre a print_r($GLOBALS) paranccsal; vagy így:

Foreach ($GLOBALS mint $kulcs=>$érték) visszhangozza a "GLOBALS[".$key."] == ".$értéket."
";

$_SERVER változó.

    $_REQUEST változó- egy asszociatív tömb (tömb), amely alapértelmezés szerint a $_GET, $_POST és $_COOKIE változók adatait tartalmazza. A $_REQUEST tömbben lévő változók a GET, POST vagy COOKIE metódusokon keresztül kerülnek átadásra a szkriptnek, így nem lehet megbízni bennük, mert lehet, hogy egy távoli felhasználó módosította őket. Jelenlétüket és az adatok megfelelő tömbökhöz való hozzáadásának sorrendjét a variables_order direktíva határozza meg (a GPCS alapértelmezés szerint be van állítva).

    $_SESSION változó

    $_ENV változó. Akkor kell kitölteni, ha a szkript innen indult parancs sor. A $_SERVER tömb tartalmazza a $_ENV tömb összes változóját.

    $http_response_header változó

Egyszerű szintaxis

Ha az értelmező dollárjellel ($) találkozik, akkor a lehető legtöbb karaktert rögzíti, hogy érvényes változónevet képezzen. Ha pontosan meg szeretné határozni egy név végét, zárja be a változó nevét kapcsos zárójel.

$sör = "Heineken" ;
echo "$sör íze remek" ; // működik, a """ érvénytelen karakter a változónévhez
echo "Ivott néhány $sört" ; // nem működik, az "s" egy változónév érvényes karaktere
echo "Ivott néhány $(sört)" ; // működik
echo "Ivott néhány ($sört)" ; // működik
?>

Hasonlóképpen egy tömbelem is feldolgozható ( sor) vagy tárgytulajdonság ( tárgy). A tömbindexekben a záró szögletes zárójel ( ] ) jelzi az indexdefiníció végét. Az objektum tulajdonságaira ugyanazok a szabályok vonatkoznak, mint az egyszerű változókra, bár nincs olyan trükk, mint a változókra.

// Ezek a példák kifejezetten a tömbök belső használatára vonatkoznak
// sorok. A karakterláncokon kívül mindig mellékelje a karakterlánc billentyűit
// tömböt idézőjelek közé, és ne használja a karakterláncokon (zárójeleken) kívül.

// Mutassuk meg az összes hibát
hibabejelentés(E_ALL);

$gyümölcs = array("eper" => "piros" , "banán" => "sárga" );

// Működik, de vegye figyelembe, hogy az idézett karakterláncon kívül másképp működik
visszhang "A banán $gyümölcs.";

//Művek
visszhang "A banán az ($gyümölcs["banán"]).";

// Működik, de a PHP az alábbiakban leírtak szerint először megkeresi
// állandó banán.
visszhang "A banán az ($gyümölcs).";

// Nem működik, használj göndör zárójelet. Ez feldolgozási hibát okoz.
visszhang "A banán $gyümölcs["banán"].;

// Működik
echo "A banán az" . $gyümölcsök [ "banán" ] . "." ;

// Működik
visszhang "Ez a négyzet $négyzet->szélesség méter széles.";

// Nem működik. A megoldáshoz lásd az összetett szintaxist.
visszhang "Ez a négyzet $square->width00 centiméter széles.";
?>

Többért kihívást jelentő feladatokatösszetett szintaxist használhat.

Összetett (göndör) szintaxis

Ezt a szintaxist nem azért nevezik összetettnek, mert nehéz megérteni, hanem azért, mert lehetővé teszi összetett kifejezések használatát.

Valójában bármilyen névteres értéket felvehet egy sorba ezzel a szintaxissal. Egyszerűen írja be a kifejezést ugyanúgy, mint a karakterláncon kívül, majd becsomagolja ( és ). Mivel a(z) "(" kifejezést nem lehet kihagyni, ezt a szintaxist a rendszer csak akkor ismeri fel, ha a $ közvetlenül követi (.). (Használja a "(\$" vagy "\($") parancsot a "($") megjelenítéséhez. Néhány szemléltető példa:

// Mutassuk meg az összes hibát
hibabejelentés(E_ALL);

$nagyszerű = "fantasztikus" ;

// Nem működik, kimenetek: Ez (fantasztikus)
echo "Ez ($nagyszerű)" ;

// Művek, kimenetek: Ez fantasztikus
echo "Ez ($nagyszerű)" ;
echo "Ez $(nagyszerű)" ;

// Működik
visszhang "Ez a négyzet ($négyzet->szélesség)00 centiméter széles.";

// Működik
visszhang "Ez működik: ($arr)";

// Ez ugyanabból az okból hibás, amiért a $foo kívülről rossz
// sorok. Más szóval, továbbra is működni fog
// de mivel a PHP először a foo állandót keresi, ez meg fogja hívni
// E_NOTICE szintű hiba (meghatározatlan állandó).
visszhang "Ez rossz: ($arr)";

// Működik. Többdimenziós tömbök használatakor belül
// a karakterláncok mindig göndör kapcsos zárójelet használnak
visszhang "Ez működik: ($arr["foo"])";

// Működik.
echo "Ez működik: " . $arr [ "foo" ][ 3 ];

visszhang "Még írhatsz is ($obj->values->name)";

visszhang "Ez a $name: ($($name)) nevű változó értéke";
?>

A karakterláncokban lévő karakterek használhatók és módosíthatók, ha megadjuk az eltolásukat a karakterlánc elejétől, nullától kezdve, a karakterlánc utáni kapcsos zárójelben. Íme néhány példa:

// A karakterlánc első karakterének lekérése
$str = "Ez egy teszt." ;
$első = $str ( 0 );

// Szerezze be a karakterlánc harmadik karakterét
$harmadik = $str ( 2 );

// A karakterlánc utolsó karakterének lekérése
$str = – Ez még egy próba.;
$last = $str ( strlen ($str ) - 1 );

// A karakterlánc utolsó karakterének módosítása
$str = "Nézd a tengert";
$str ( strlen ($str )- 1 ) = "i" ;

?>

Stringfüggvények és operátorok

String operátorok

A különböző programozási nyelvek különböző karakterlánc-összefűzési (union) operátorokat használnak. Például a Pascal a "+" operátort használja. A PHP hibásan használja a "+" operátort a karakterlánc-összefűzéshez: ha a karakterláncok számokat tartalmaznak, akkor a karakterláncok összefűzése helyett két szám összeadásának műveletét hajtják végre.

A PHP-nek két operátora van, amelyek összefűzést hajtanak végre.

Az első az összefűzési operátor ("."), amely a bal és a jobb oldali argumentumok összefűzését adja vissza.

A második az összefűzés hozzárendelési operátora, amely a jobb oldali argumentumot hozzáfűzi a bal oldali argumentumhoz.

Vegyünk egy konkrét példát:

$a = "helló" ;
$b = $a . "Világ!" ; // $b tartalmazza a "Hello World!" karakterláncot. - Ez egy összefűzés

$a = "helló" ;
$a .= "Világ!" ; // $a tartalmazza a "Hello World!" karakterláncot. - Ez egy összefűzéssel járó feladat
?>

Karakterlánc-összehasonlító operátorok

Az == és != összehasonlító operátorok nem ajánlottak karakterlánc-összehasonlításhoz, mert típuskonverziót igényelnek. Példa:

$ x = 0 ;
$ y = 1 ;
ha ($x == "" ) visszhangzik "

x- üres sor

" ;
if($y=="" ) visszhangja "

y - üres karakterlánc

"
;
// Kimenetek:
// x - üres karakterlánc
?>

Ez a szkript azt mondja nekünk, hogy a $x egy üres karakterlánc. Ennek az az oka, hogy az üres karakterláncot ("") a rendszer először 0-ként kezeli, majd csak ezután "üresként". A PHP-ben az operandusokat csak akkor hasonlítja össze karakterláncként, ha mindkettő karakterlánc. Ellenkező esetben számokként hasonlítják össze őket. Ebben az esetben minden olyan karakterláncot, amelyet a PHP nem tud számmá alakítani (beleértve az üres karakterláncot is), 0-ként kezeli.

Példák karakterláncok összehasonlítására:

$ x = "Karakterlánc" ;
$y = "Karakterlánc" ;
$z = "Vonal" ;
ha ($x == $z ) visszhang "

Az X sor egyenlő a Z sorral

" ;
ha ($ x == $ y ) visszhang "

Az X sor egyenlő az Y sorral

"
;
ha ($ x != $ z ) visszhang "

Az X karakterlánc NEM egyenlő a Z karakterlánccal

"
;
// Kimenetek:
// Az X karakterlánc egyenlő az Y karakterlánccal

?>

A félreértések és a típuskonverziók elkerülése érdekében a karakterláncok összehasonlításakor ajánlatos az ekvivalencia operátort használni. Az ekvivalencia operátor lehetővé teszi a karakterláncok helyes összehasonlítását, mivel mind érték, mind típus szerint összehasonlítja az értékeket:

$ x = "Karakterlánc" ;
$y = "Karakterlánc" ;
$z = "Vonal" ;
ha ($x === $z ) visszhang "

Az X sor egyenlő a Z sorral

" ;
if ($ x === $ y ) visszhang "

Az X sor egyenlő az Y sorral

"
;
ha ($ x !== $ z ) visszhang "

Az X karakterlánc NEM egyenlő a Z karakterlánccal

"
;
// Kimenetek:
// Az X karakterlánc egyenlő az Y karakterlánccal
// Az X karakterlánc NEM egyenlő a Z karakterlánccal
?>

Sziasztok kedves kezdő programozók! Folytassuk az alkotóelemek tanulmányozását.

Ebben a cikkben megtudjuk, mik azok a php utasítások. Valójában néhányat szinte gyerekkorunk óta ismerünk, csak jelekként ismerjük őket (+, -, =, !, ?).

A php-ben mindegyiket operátornak hívják, ami teljesen logikus, mivel egy bizonyos műveletet vagy műveletet hajtanak végre.

Akár azt is mondhatjuk, hogy minden olyan nyomtatott karakter, amely nem betű vagy szám, operátor a php-ben. De ez még nem minden, hiszen vannak betűkből álló operátorok.

Kezdjük sorban.

Aritmetikai operátorok

Az aritmetikai operátorok a számokkal végzett műveletek végrehajtására szolgálnak.

+ az összeadás operátor;
— — kivonás operátor;
/ az osztás operátora;
* a szorzó operátor;
% - operátor a maradék megszerzéséhez osztáskor;
++ - operátor növelése eggyel (növekmény);
— — — operátor csökkentése eggyel (csökkentés)

Íráskor általában szóközt helyezünk az operátor elé és után. Ez kizárólag a kód beolvasásának kényelmét szolgálja, bár ez a hely nem befolyásol semmit, és ha akarja, nélküle is megteheti.

Az összetett kifejezések az aritmetikában elfogadott szabályok szerint készülnek, vagyis a szorzás és az osztás elsőbbséget élvez az összeadással és a kivonással szemben, és ha mindkettő szerepel a kifejezésben, akkor az utóbbiak zárójelben vannak.

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

Egy egész szám egész számmal való elosztása során a maradék megszerzése esetén az eredmény automatikusan lefordításra kerül valós szám(lebegőpontos szám).

visszhang 8/3 ; //2.66666666666
?>

A törtszámhoz megjelenített karakterek száma a php.ini fájlban található precíziós direktívában beállított értéktől függ. Ez általában 12 karakter, a pontot nem számítva.

A % operátort általában annak meghatározására használják, hogy egy szám osztható-e egy másikkal maradék nélkül vagy sem.

visszhang 53328 % 4 ; //0
?>

Műveletek a következővel: aritmetikai operátorok, a növekmény és a csökkentés kivételével hívják bináris, mivel két operandust foglalnak magukban (term + term, osztalék / osztó stb.)

A növekedés és a csökkentés műveleteit nevezzük egységes, mivel egy operandust tartalmaznak. Van még néhány feltételes működés, amely három operandust foglal magában.

A növelés (++) és a csökkentés (- -) operátorok csak a változókra vonatkoznak.

Változó típusú egész szám (egész számok)

$következő = 3 ;
echo ++$next; 4
?>

Változó típusú karakterlánc (karakterlánc)

$next = "abc";
echo $következő; // abd
?>

A "c" betű helyett a "d" betű jelenik meg, mert ez a következő betű az ábécében, és a változó értékét eggyel növeltük.

A példák növekményes műveleteket mutatnak be, és ugyanígy hajthat végre műveleteket csökkentéssel is.

Bitenkénti operátorok

A bitenkénti operátorokat úgy tervezték, hogy bináris adatokon működjenek. Ha valakinek fogalma sincs, mi az, elmagyarázom. bináris számok olyan számok, mint 1001000011100000111000.

Mivel az ilyen adatok szinte soha nem kerülnek felhasználásra a weboldalak fejlesztése során, nem foglalkozunk velük részletesen. Csak azt mutatom meg, hogyan néznek ki, hogy amikor ilyen szimbólumokkal találkozol, el tudd képzelni, mivel foglalkozol.

& - bitenkénti kapcsolat ÉS (és);
~ — bitenkénti tagadás (nem);
| - bitenkénti unió VAGY (vagy);
^ - bitenkénti kivétel VAGY (xor);
<< — сдвиг влево битового значения операнда;
>> - eltolás jobbra az operandus bitértékétől;

Ezekkel az operátorokkal való találkozás meglehetősen valószínű, mivel a bináris adatokat széles körben használják a programok fejlesztése során számítógépes grafika. De ezek tanulmányozásához, ha valakinek szüksége van rá, külön tanfolyamot kell elvégeznie egy másik erőforrásról.

Összehasonlító operátorok

Az összehasonlító operátorok logikai operátorok, és változók összehasonlítására szolgálnak. A tömbök és az objektumok nem hasonlíthatók össze velük.

> - nagyobb, mint az operátor;
=> - nagyobb vagy egyenlő operátorral;
< — оператор меньше;
<= — оператор меньше или равно;
== - egyenlőség operátor;
!= — egyenlőtlenség operátor;
=== - ekvivalencia operátor (a változó értéke és típusa egyenlő);
!== - nem ekvivalencia operátor;

Az összehasonlítás eredményeként vagy egy egység jelenik meg a képernyőn, ami igaz (igaz), vagy egy üres karakterlánc, amely hamis (hamis).

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

Tehát önmagukban az összehasonlító operátorokat szinte soha nem használják. Fő céljuk, hogy együtt dolgozzanak az if utasítással.

Feltételes kijelentések if, else, elseif .

A feltételes utasításokat azért nevezik így, mert egy bizonyos feltétel tesztelésére szolgálnak, attól függően, hogy melyik műveletet hajtják végre.

Argumentumként az if utasítás logikai változót vagy kifejezést vesz fel. Ha a feltétel igaz, akkor az eredmény jelenik meg, ha nem igaz, akkor egy üres karakterlánc.



if ($következő< $nexT)
{
echo "Lehetséges csapadék"; // Lefolyó Lehetséges csapadék
}
?>

$next = "A levegő páratartalma 80%";
$nexT = "A levegő páratartalma 90%";
ha ($next > $nexT)
{
echo "Lehetséges csapadék"; // Üres karakterlánc kimenete
}
?>

Ha a programnak két műveletet kell beállítania, amelyek közül az egyik igaz, a másik hamis érték esetén hajtódik végre, akkor az else utasítást az if utasítással együtt kell használni.

$next = "A levegő páratartalma 80%";
$nexT = "A levegő páratartalma 90%";
ha ($next > $nexT)
{
echo "Lehetséges csapadék";
}
más
{
echo "Csapadék nem várható";
}
?>

Ebben az esetben a „Csapadék nem várható” felirat jelenik meg, és ha a „Több” jelet „Kevesebb”-re változtatja a kifejezésben, akkor a „Csapadék lehetséges” felirat jelenik meg. A feltételes utasítások így ellenőrzik a feltételt, és ennek megfelelően adják ki a helyes eredményt.

Nagyon gyakran kettőnél több feltételt kell megadni, majd ezek egymás utáni ellenőrzéséhez az elseif operátort kell használni.



ha ($next > $nexT)
{
echo "Tiszta";
}
elseif ($következő<= $nexT)
{
visszhang "Hó";
}
elseif ($next >= $next)
{
visszhang "Eső";
}
elseif ($next == $next)
{
visszhang "szárazság";
}
más
{
echo "Lehetséges csapadék";
}
?>

Ez a program kinyomtatja a "Hót". Ha egyik feltétel sem felel meg, akkor a „Csapadék lehetséges” üzenet jelenik meg.

Az if utasítás annyi elseif blokkot tartalmazhat, amennyit csak akar, és csak egy else utasítást.

Alternatív jelölés is megengedett - göndör zárójelek nélkül. Ebben az esetben az if, else, elseif utasítások sorai kettősponttal végződnek, és az egész konstrukció az kulcsszó(operátor) endif .

$next = "A levegő páratartalma 50%";
$nexT = "A levegő páratartalma 60%";
if ($következő<= $nexT):

visszhang "Hó";

elseif ($next >= $next):

visszhang "Eső";

elseif ($next == $nexT):

visszhang "szárazság";

más:

echo "Lehetséges csapadék";
endif;
?>

Logikai operátorok

A logikai operátorok hasonlóak a bitenkénti operátorokhoz. A különbség közöttük az, hogy az elsők logikai változókkal, a másodikak számjegyekkel operálnak.

Logikai operátorokat használunk, ha több feltételt kell kombinálni, ami csökkenti az if utasítások számát, ami viszont csökkenti a hibák valószínűségét a kódban.

&& - összekötő unió ÉS;
és - szintén ÉS, de alacsonyabb prioritással;
|| - megosztó szakszervezet VAGY;
vagy - szintén VAGY, de alacsonyabb prioritással;
xor - kizárólagos egy elem VAGY;
! - tagadás;

Az alacsonyabb prioritás azt jelenti, hogy ha mindkét operátor van, akkor először a magasabb prioritású operátor kerül végrehajtásra.

A jövőben a bonyolultabb szkriptek példáival részletesebben foglalkozunk a logikai operátorokkal.

hozzárendelés operátor

Az = hozzárendelési operátor a jobb oldali operandus értékét rendeli a bal operandushoz.

$next = "Szia"
echo "Hello" // Hello
?>

pont operátor

A pont operátor elválasztja egy szám egész részét a tört résztől, és több karakterláncot és egy számot összefűz egy teljes karakterláncba.

$következő = 22 ;
echo "Ma után" .$következő. "fagy várható"; // Ma 22 után fagyás várható
?>

Zárójelek operátora

Akárcsak a matematikában, a zárójeles operátor a beléjük zárt műveletnek ad elsőbbséget.

Először a zárójelben lévő adatok kerülnek végrehajtásra, majd minden más.

Göndör fogszabályozó kezelő

A php-ban háromféle módon, sőt stílusban is elhelyezhetők a göndör zárójelek.

1. BSD stílus – a zárójelek balra vannak igazítva.

ha ($következő)
{

}

2. GNU stílus – a zárójelek a bal széltől behúzással igazodnak

ha ($következő)
{
echo "Szia kedves kezdő programozók";
}

3. K&R stílus - a tartó a kezelősorban nyílik

ha ($következő)(
echo "Szia kedves kezdő programozók";
}

Kezdettől fogva ki kell választania az egyik stílust, és a jövőben a szkriptek írásakor csak azt használja. És nem mindegy, melyik stílust választja. Fontos, hogy az egész program során következetes legyen.

Egyelőre szerintem ennyi elég. Elvileg nem csak a jelek, hanem a függvények és egyéb elemek is lehetnek operátorok, így nagyon nehéz mindet felsorolni, és nem is kell.

Elég, ha van elképzelése az alapvető alapokról. A többit pedig gyakorlati példákon elemezzük.

Egy ír könnyek között bolyong a Seremetyevói repülőtéren. Az egyik alkalmazott úgy döntött, hogy együtt érez:
- Hiányzik a szülőföld?
- Egyáltalán nem. Elvesztettem az összes csomagomat
- Hogy történhetett ez meg?
„Nem értem magam. Úgy tűnik, bedugtad a dugót

A karakterlánc-interpolációhoz. A kézikönyvből:

Összetett (göndör) szintaxis

Nem nevezik összetettnek, mert a szintaxis összetett, és ezért lehetővé teszi az összetett kifejezéseket.

Ezen a szintaxison keresztül bármilyen skaláris változó, tömbelem vagy objektumtulajdonság karakterlánc-reprezentációval szerepelhet. Csak írja be a kifejezést úgy, ahogy a karakterláncon kívül lenne, majd csomagolja be ( és ) -be. Mivel ( nem lehet megkerülni, ezt a szintaxist csak akkor ismeri fel a rendszer, ha a $ követi a ( . használja a (\$) literált ($ . Néhány példa, hogy egyértelmű legyen:

szélesség)00 centiméter széles."; // Működik, az idézőjeles billentyűk csak a kapcsos zárójeles szintaxis használatával működnek echo "Ez működik: ($arr["kulcs"])"; // Működik az echo "Ez működik: ($arr)" // Ez ugyanaz miatt hibás, mint a $foo egy karakterláncon kívül. // Más szavakkal, továbbra is működni fog, de csak azért, mert a PHP először egy foo nevű // állandót keres; E_NOTICE ( szintű hiba) definiálatlan konstans) kerül // dobásra. echo "Ez hibás: ($arr)"; // Működik. Többdimenziós tömbök használatakor mindig használjon kapcsos zárójelet a tömbök körül // amikor a stringek belsejében echo "Ez működik: ($ arr["foo"])"; // Működik. echo "Ez működik: " . $arr["foo"]; echo "Ez is működik: ($obj->values->name)"; echo "Ez a(z a \$object->getName() visszatérési értéke által megnevezett var értéke: ($($object->getName()))"; // Nem működik, kimenetek: Ez a következő visszatérési értéke getName(): (getName()) echo "Ez a getName(): (getName()) visszatérési értéke"; ?>

Erre a szintaxisra gyakran nincs szükség. Például ezt:

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

pontosan így viselkedik:

$out = "($a) ($a)"; // azonos

Tehát a göndör fogszabályzóra nincs szükség. De ez:

$out = "$aefgh";

a hibaszinttől függően vagy meghiúsul, vagy hibát produkál, mert nincs $aefgh nevű változó, ezért a következőket kell tennie:

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