Nuoroda Ką šis simbolis reiškia PHP?

Kas tai?

Tai klausimų rinkinys, kuris kartais kyla dėl sintaksės PHP. Tai taip pat yra bendruomenės wiki, todėl kiekvienas gali dalyvauti prižiūrint šį sąrašą.

Kodėl taip?

Jau buvo sunku rasti klausimų apie operatorius ir kitus sintaksės žetonus.
Pagrindinė idėja yra turėti nuorodas į esamus klausimus apie stekų perpildymą, kad galėtume juos lengviau nurodyti, o ne nukopijuoti turinį iš PHP vadovo.

Pastaba Nuo 2013 m. Sausio mėn. Stekų perpildymas palaiko specialius simbolius . Tiesiog supakuokite paieškos terminus su kabutėmis, pavyzdžiui, [php] "==" vs "==="

Ką turėčiau daryti čia?

Jei kas nors jums nurodė, kad uždavėte tokį klausimą, prašome rasti konkrečią sintaksę. Susiję puslapiai su PHP vadovu ir susiję klausimai greičiausiai atsakys į jūsų klausimą. Jei taip, kviečiate paklausti atsakymo. Šis sąrašas nepakeičia kitų teikiamos pagalbos.

Sąrašas

Jei jūsų konkretus raktinis žodis nėra nurodytas žemiau, jį galite rasti analizatoriaus žetonų sąraše .


> bitų operatoriai arba nuorodos


=> Nuorodos


> Bitiniai operatoriai


> Loginiai operatoriai


% Aritmetinių operatorių


!! Loginiai operatoriai


@ Operatorių klaidų kontrolė


?: Trivietis operatorius


?? Tuščias prisijungimo operatorius (nuo PHP 7)


?string ?int ?array ?bool ?float Grąžinimo tipo deklaracija Nullable (nuo PHP 7.1)


: Alternatyvi valdymo struktūrų sintaksė , „ Ternary“ operatorius


:: Regiono leidimo operatorius


Vardų vietos


-> Klasės ir objektai


=> Arrays


^ Bitiniai operatoriai


>> Bitiniai operatoriai


<< Bitiniai operatoriai


<<< Heredoc arba Nowdoc


= Priskyrimo operatoriai


== Palyginimo operatoriai


=== Palyginimo operatoriai


!== palyginimo operatoriai


!= Palyginimo operatoriai


<> Palyginimo operatoriai


<=> Palyginimo operatoriai (nuo PHP 7.0)


| Bitiniai operatoriai


|| Loginiai operatoriai


~ Bitiniai operatoriai


+ Aritmetiniai operatoriai , masyvo operatoriai


+= ir -= Priskyrimo operatoriai


++ ir -- padidinti / sumažinti operatorius


.= Priskyrimo operatoriai


. Styginių operatoriai


, Funkcijų argumentai

Kintamos deklaracijos


$$ Kintamieji kintamieji


' Vykdytojas


<?= Trumpos atviros žymos


[] Arrays (trumpas sintaksė nuo PHP 5.4)


<? Žymių atidarymas ir uždarymas


... Išpakuokite argumentą (nuo PHP 5.6)


** Ekspozicija (nuo 5.6 PHP)


# Vienos eilutės korpuso stiliaus komentaras


4006
17 сент. Gordonas nustatė 17 sep. 2010-09-17 19:24 '10, 19:24, 2010-09-17 19:24
@ 19 atsakymų

Padidinti / sumažinti operatorius

++ prieaugio operatorius

-- mažėjantis operatorius

Gyvenimo pavyzdys 

Minėtu atveju ++$i , nes jis yra greitesnis. $i++ turės tuos pačius rezultatus.

Preliminarus padidėjimas yra šiek tiek greitesnis, nes jis iš tikrųjų padidina kintamąjį ir „grąžina“ rezultatą. Po prieaugio sukuriamas specialus kintamasis, nukopijuojamas pirmojo kintamojo vertė, ir tik po to, kai naudojamas pirmasis kintamasis, pakeičia jo vertę su antruoju.

Tačiau jūs turite naudoti $apples-- , nes pirmiausia norite rodyti dabartinį obuolių skaičių ir tada atimti vieną iš jų.

Taip pat galite padidinti raides PHP:

 $i = "a"; while ($i < "c") { echo $i++; } 

Kai z pasiekiamas, aa kitas ir pan.

Atkreipkite dėmesį, kad simbolių kintamuosius galima padidinti, bet ne sumažinti, ir net šiuo atveju palaikomi tik paprastieji ASCII simboliai (az ir AZ).


Žinutės:

1017
17 сент. atsakymas, kurį pateikė Peter Ajtai 17 sep. 2010-09-17 19:30 '10, 19:30, 2010-09-17 19:30

Dvigubas operatorius

Kas mažai? Bitas yra 1 arba 0. Iš esmės OFF (0) ir ON (1)

Kas yra baitas? Bitas susideda iš 8 bitų, o didžiausias baitas yra 255, o tai reiškia, kad kiekvienas bitas yra nustatytas. Apžvelgsime, kodėl didžiausia baito vertė yra 255.

 ------------------------------------------- | 1 Byte ( 8 bits ) | ------------------------------------------- |Place Value | 128| 64| 32| 16| 8| 4| 2| 1| ------------------------------------------- 

Šis atvaizdas yra 1 baitas.

1 + 2 + 4 + 8 + 16 + 32 + 64 + 128 = 255 (1 baitas)

Kai kurie geresnio supratimo pavyzdžiai.

Operatorius „AND“: >

 $a = 9; $b = 10; echo $a  $b; 

Tai suteiks numerį 8. Kodėl? Na, žiūrėkite, naudodami mūsų mėginių lentelę.

border=0
 ------------------------------------------- | 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| ------------------------------------------- 

Taigi, iš lentelės galite matyti, kad vienintelė jų dalis yra 8 bitai.

Antrasis pavyzdys

 $a = 36; $b = 103; echo $a  $b; // This would output the number 36. $a = 00100100 $b = 01100111 

Du bendri bitai - 32 ir 4, kurie kartu su grąžinimu 36.

Operatorius "Or": |

 $a = 9; $b = 10; echo $a | $b; 

Tai suteiks numerį 11. Kodėl?

 ------------------------------------------- | 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| ------------------------------------------- 

Pastebėsite, kad 8, 2 ir 1 stulpeliuose yra 3 bitai. Pridėti juos: 8 + 2 + 1 = 11.

388
31 окт. atsakymą pateikė Ankur Saxena spalio 31 d. 2012-10-31 16:28 '12 16:28 2012-10-31 16:28

_ „Gettext“ slapyvardis ()

Paryškinimo simbolis '_', kaip ir _() yra gettext() funkcijos pseudonimas.

245
29 нояб. Atsakymą pateikė Habeeb Perwad, lapkričio 29 d 2012-11-29 12:07 '12 12:07 2012-11-29 12:07
234
31 окт. atsakymą pateikė Ankur Saxena spalio 31 d. 2012-10-31 15:59 '12 bent 15:59 pm 2012-10-31 15:59

<=> Erdvėlaivių operatorius

Įtraukta į PHP 7

Kosminio laivo operatorius <=> yra paskutinis palyginimo operatorius, įtrauktas į PHP 7. Tai yra ne asociatyvus dvejetainis operatorius, turintis tokį patį prioritetą kaip lygybės operatorius ( == != , === !== ). Šis operatorius leidžia jums supaprastinti trijų krypčių kairiųjų ir dešiniųjų operandų palyginimą.

Operatorius veda į sveikojo skaičiaus išraišką:

  • 0 kai abu operandai yra lygūs
  • Mažiau nei 0 kai kairysis operandas yra mažesnis už tinkamą operandą
  • Didesnė nei 0 kai kairysis operandas yra didesnis už tinkamą operandą

Pavyzdžiui.

 1 <=> 1; // 0 1 <=> 2; // -1 2 <=> 1; // 1 

Geras praktinis šio operatoriaus taikymas būtų lyginamojo tipo grįžtamasis ryšys, kurio tikimasi grąžinti nulį, neigiamą arba teigiamą sveikąjį skaičių, remiantis dviejų krypčių palyginimu. Lyginamoji funkcija, perduota usort yra vienas iš tokių pavyzdžių.

Prieš PHP 7, turite rašyti ...

 $arr = [4,2,1,3]; usort($arr, function ($a, $b) { if ($a < $b) { return -1; } elseif ($a > $b) { return 1; } else { return 0; } }); 

Su PHP 7 galite rašyti ...

 $arr = [4,2,1,3]; usort($arr, function ($a, $b) { return $a <=> $b; }); 
214
08 июля '15 в 19:44 2015-07-08 19:44 Šerifas atsakė liepos 08-15 dienomis 19:44 2015-07-08 19:44

Magiškos konstantos . Nors tai ne tik simboliai, bet ir svarbi šios žymenų šeimos dalis. Yra aštuonios magijos konstantos, kurios skiriasi priklausomai nuo to, kur jos naudojamos.

__LINE__ : dabartinis failo eilutės numeris.

__FILE__ : visas kelias ir failo pavadinimas. Jei naudojama viduje, grąžinamas įtraukto failo pavadinimas. Nuo PHP 4.0.2, __FILE__ visada turi absoliutų kelią su leistomis simbolinėmis nuorodomis, o senesnėse versijose tam tikromis aplinkybėmis buvo santykinis kelias.

__DIR__ : failų katalogas. Jei naudojamas viduje, į jį įtraukiamas įtraukto failo katalogas. Tai atitinka dirname(__FILE__) . Šis katalogo pavadinimas neturi galinio brūkšnio, jei jis nėra šakninis katalogas. (Pridėta PHP 5.3.0.)

__FUNCTION__ : funkcijos pavadinimas. (Pridėta PHP 4.3.0). Pradedant nuo PHP 5, ši konstanta grąžina deklaruotos funkcijos funkciją (didžiosios ir mažosios raidės). PHP 4, jos vertė visada sumažinama.

__CLASS__ : klasės pavadinimas. (Pridėta PHP 4.3.0). Pradedant nuo PHP 5, ši konstanta grąžina paskelbtos klasės pavadinimą (didžiosios ir mažosios raidės). PHP 4, jos vertė visada sumažinama. Klasės pavadinime yra vardų sritis, kurioje ji buvo paskelbta (pvz., „ Foo\Bar ). Atkreipkite dėmesį, kad su PHP 5.4 __CLASS__ veikia ir kontūro. Naudojant bruožų metodą, __CLASS__ yra tos klasės pavadinimas, kuriame naudojamas atributas.

__TRAIT__ : atributo pavadinimas. (Pridėta PHP 5.4.0). Pradedant nuo PHP 5.4, ši konstanta grąžina ženklą, nes jis buvo paskelbtas (didžiosios ir mažosios raidės). Atributo pavadinimas apima vardų sritį, kurioje jis buvo paskelbtas (pvz., „ Foo\Bar ).

__METHOD__ : klasės metodo pavadinimas. (Pridėta PHP 5.0.0) Metodo pavadinimas grąžinamas, nes jis buvo paskelbtas (didžiosios ir mažosios raidės).

__NAMESPACE__ : dabartinės vardų vietos (didžiosios ir mažosios raidės) pavadinimas. Ši konstanta nustatoma kompiliavimo metu (pridėta PHP 5.3.0).

Šaltinis

209
24 апр. atsakymą pateikė Sumoanandas . 2013-04-24 07:43 '13, 7:43, 2013-04-24 07:43

Įveskite operatorius

instanceof naudojamas nustatyti, ar PHP kintamasis yra tam tikros klasės objekto egzempliorius.

 <?php class mclass { } class sclass { } $a = new mclass; var_dump($a instanceof mclass); var_dump($a instanceof sclass); 

Pirmiau pateiktame pavyzdyje rodoma:

 bool(true) bool(false) 

Priežastis: Anksčiau pateiktame pavyzdyje yra $a yra mclass objektas, todėl naudokite tik mclass duomenis, o ne egzempliorius su sclass

Pavyzdys su paveldėjimu

 <?php class pclass { } class childclass extends pclass { } $a = new childclass; var_dump($a instanceof childclass); var_dump($a instanceof pclass); 

Pirmiau pateiktame pavyzdyje rodoma:

 bool(true) bool(true) 

Klono pavyzdys

 <?php class cloneable { } $a = new cloneable; $b = clone $a; var_dump($a instanceof cloneable); var_dump($b instanceof cloneable); 

Pirmiau pateiktame pavyzdyje rodoma:

 bool(true) bool(true) 
130
31 окт. atsakymas, kurį pateikė Maulik patel 31 sp . 2013-10-31 08:48 '13, 8:48, 2013-10-31 08:48

Operatorių apžvalga PHP :


Loginiai operatoriai:

  • $ a $ b: TRUE, jei abu $ a ir $ b yra TRUE.
  • $ a || $ b: TRUE, jei arba $ a arba $ B TRUE.
  • $ a xor $ b: TRUE, jei arba $ a arba $ b TRUE, bet ne abu.
  • ! $ a: TRUE, jei $ a nėra TRUE.
  • $ a ir $ b: TRUE, jei ir $ a, ir $ b yra TRUE.
  • $ a arba $ b: TRUE, jei $ a arba $ b vertė yra TRUE.

Palyginimo operatoriai:

  • $ a == $ b: TRUE, jei $ a yra lygus $ b po žongliravimo.
  • $ a === $ b: TRUE, jei $ a yra lygus $ b, ir jie yra to paties tipo.
  • $ a! = $ b: TRUE, jei manipuliuojant tipu $ a nėra lygus $ b.
  • $ a <> $ b: TRUE, jei $ a nėra lygus $ b po tipo manipuliavimo.
  • $ a! == $ b: TRUE, jei $ a nėra lygi $ b, arba jie nėra to paties tipo.
  • $ a <$ b : TRUE, jei $ a yra griežtai mažesnis nei $ b.
  • $ a> $ b : TRUE, jei $ a yra griežtai didesnis už $ b.
  • $ a <= $ b : TRUE, jei $ a yra mažesnis arba lygus $ b.
  • $ a> = $ b : TRUE, jei $ a yra didesnis arba lygus $ b.
  • $ a <=> $ b : sveikasis skaičius, mažesnis už, lygus arba didesnis už nulį, kai $ a yra atitinkamai mažesnis už, lygus arba didesnis už $ b. Galima naudotis su PHP 7.
  • $ a? $ b: $ c : jei $ grįžti $ b kitas grįžkite $ c ( tretinis operatorius )
  • $ a? $ c : tas pats kaip $ a? $ a: $ c ( nulinis sutraukiantis operatorius - reikia PHP> = 7)

Aritmetiniai operatoriai:

  • - $ a : priešais $ a.
  • $ a + $ b : $ a ir $ b suma.
  • $ a - $ b : skirtumas tarp $ a ir $ b.
  • $ a * $ b : produktas $ a ir $ b.
  • $ a / $ b : koeficientas $ a ir $ b.
  • $ a% $ b : balansas $ a padalintas iš $ b.
  • $ a ** $ b : $ a į $ b'th pajėgumo didinimo rezultatas (įvestas PHP 5.6)

Padidinimo / sumažinimo operatoriai:

  • ++ $ a : padidina $ a po vieną, tada grąžina $ a.
  • $ a ++ : grąžina $ a ir po to padidina $ a.
  • - - $ a : sumažina $ a po vieną, tada grąžina $ a.
  • $ a-- : grąžina $ a ir po to sumažina $ a.

Bitiniai operatoriai:

  • $ a $ b : bitai, nustatyti $ a ir $ b.
  • $ a | $ b : nustatyti $ a arba $ b bitai.
  • $ a ^ $ b : bitai, nustatyti kaip $ a arba $ b, bet ne abu.
  • ~ $ a : Nerodomi $ a nustatyti bitai ir atvirkščiai.
  • $ a << $ b : perkelti žingsnių $ a $ b bitus į kairę (kiekvienas žingsnis reiškia „padauginti iš dviejų“)
  • $ a >> $ b : Perkelkite $ a $ b žingsnius į dešinę (kiekvienas žingsnis reiškia „padalinti iš dviejų“)

Styginių operatoriai:

  • $ a. $ b : $ a ir $ b susiejimas.

Array operatoriai:

  • $ a + $ b : $ a ir $ b sąjunga.
  • $ a == $ b : TRUE, jei $ a ir $ b turi tas pačias raktų / verčių poras.
  • $ a === $ b : TRUE, jei $ a ir $ b turi tas pačias raktų / verčių poras ta pačia tvarka ir to paties tipo.
  • $ a! = $ b : TRUE, jei $ a nėra lygus $ b.
  • $ a <> $ b : TRUE, jei $ a nėra lygus $ b.
  • $ a! == $ b : TRUE, jei $ a nesutampa su $ b.

Priskyrimo operatoriai:

  • $ a = $ b : $ b vertė priskiriama $ a
  • $ a + = $ b : Tas pats kaip $ a = $ a + $ b
  • $ a - = $ b : Tas pats kaip $ a = $ a - $ b
  • $ a * = $ b : Tas pats kaip $ a = $ a * $ b
  • $ a / = $ b : Tas pats kaip $ a = $ a / $ b
  • $ a% = $ b : Tas pats kaip $ a = $ a% $ b
  • $ a ** = $ b : Tas pats kaip $ a = $ a ** $ b
  • $ a. = $ b : Tas pats kaip $ a = $ a. $ b
  • $ a = $ b : Tas pats kaip $ a = $ a $ b
  • $ a | = $ b : Tas pats kaip $ a = $ a $ b
  • $ a ^ = $ b : Tas pats kaip $ a = $ a ^ $ b
  • $ a << = $ b : Tas pats kaip $ a = $ a << $ b
  • $ a >> = $ b : Tas pats kaip $ a = $ a >> $ b

Pastaba

operatorius or operatorius turi mažesnį prioritetą nei priskyrimo operatorius = .

Tai reiškia, kad $a = true and false; atitinka ($a = true) and false .

Daugeliu atvejų tikriausiai norite naudoti > ir || kurie elgiasi taip gerai, kaip C, Java ar JavaScript.

108
18 янв. John Slegers atsakymas Jan 18 2016-01-18 09:13 '16 at 9:13 2016-01-18 09:13

Erdvėlaivių operatorius <=> (pridėtas 7 PHP)

Kosminio laivo operatoriaus pavyzdžiai <=> (PHP 7, šaltinis: PHP vadovas):

Kintamųjų trišaliam palyginimui tinkami skaičiai, slankiojo kablelio numeriai, stygos, matricos ir objektai.

 // Integers echo 10 <=> 10; // 0 echo 10 <=> 20; // -1 echo 20 <=> 10; // 1 // Floats echo 1.5 <=> 1.5; // 0 echo 1.5 <=> 2.5; // -1 echo 2.5 <=> 1.5; // 1 // Strings echo "a" <=> "a"; // 0 echo "a" <=> "b"; // -1 echo "b" <=> "a"; // 1 // Comparison is case-sensitive echo "B" <=> "a"; // -1 echo "a" <=> "aa"; // -1 echo "zz" <=> "aa"; // 1 // Arrays echo [] <=> []; // 0 echo [1, 2, 3] <=> [1, 2, 3]; // 0 echo [1, 2, 3] <=> []; // 1 echo [1, 2, 3] <=> [1, 2, 1]; // 1 echo [1, 2, 3] <=> [1, 2, 4]; // -1 // Objects $a = (object) ["a" => "b"]; $b = (object) ["a" => "b"]; echo $a <=> $b; // 0 $a = (object) ["a" => "b"]; $b = (object) ["a" => "c"]; echo $a <=> $b; // -1 $a = (object) ["a" => "c"]; $b = (object) ["a" => "b"]; echo $a <=> $b; // 1 // only values are compared $a = (object) ["a" => "b"]; $b = (object) ["b" => "b"]; echo $a <=> $b; // 1 
84
11 окт. atsakymas pateikiamas rajangupta 11 okt. 2015-10-11 17:15 '15, 17:15 pm 2015-10-11 17:15

{} Įterptos petnešos

Ir kai kurie žodžiai apie paskutinį pranešimą.

 $x[4] = 'd'; // it works $x{4} = 'd'; // it works $echo $x[4]; // it works $echo $x{4}; // it works $x[] = 'e'; // it works $x{} = 'e'; // does not work $x = [1, 2]; // it works $x = {1, 2}; // does not work echo "${x[4]}"; // it works echo "${x{4}}"; // does not work echo "{$x[4]}"; // it works echo "{$x{4}}"; // it works 
60
23 нояб. atsakymas pateikiamas lapkričio 23 d 2015-11-23 23:27 '15, 11:27 pm 2015-11-23 23:27

PHP stygos: PHP eilutes galima nurodyti keturiais būdais ne tik dviem būdais:

1) Vienos kabučių eilutės:

 $string = 'This is my string'; // print This is my string 

2) Dvigubos eilutės:

 $str = 'string'; $string = "This is my $str"; // print This is my string 

3) Heredoc:

 $string = <<<EOD This is my string EOD; // print This is my string 

4) Nowdoc (nuo PHP 5.3.0):

 $string = <<<'END_OF_STRING' This is my string END_OF_STRING; // print This is my string 
51
17 дек. Atsakyti devpro 17 Dec 2015-12-17 10:41 '15, 10:41, 2015-12-17 10:41

Оператор нулевого коалесцирования (??)

Этот оператор был добавлен в PHP 7.0 для обычного случая использования тройного оператора в сочетании с isset() . Он возвращает свой первый операнд, если он существует, и не является NULL ; в противном случае он возвращает свой второй операнд.

 <?php // Fetches the value of $_GET['user'] and returns 'nobody' // if it does not exist. $username = $_GET['user'] ?? 'nobody'; // This is equivalent to: $username = isset($_GET['user']) ? $_GET['user'] : 'nobody'; // Coalescing can be chained: this will return the first // defined value out of $_GET['user'], $_POST['user'], and // 'nobody'. $username = $_GET['user'] ?? $_POST['user'] ?? 'nobody'; ?> 
49
ответ дан VIPIN A ROY 31 окт. '16 в 16:38 2016-10-31 16:38

Вопрос:

Что означает => ?


ОТВЕТ:

=> Является символом, который мы, люди, решили использовать для разделения пар "Key" => "Value" в ассоциативных массивах.

развивавший:

Чтобы понять это, мы должны знать, что такое ассоциативные массивы. Первое, что приходит, когда обычный программист думает о массиве ( в PHP ), будет чем-то вроде:

 $myArray1 = array(2016, "hello", 33);//option 1 $myArray2 = [2016, "hello", 33];//option 2 $myArray3 = [];//option 3 $myArray3[] = 2016; $myArray3[] = "hello"; $myArray3[] = 33;