Link Bu simvol PHP-də nə deməkdir?

Bu nədir?

Bu PHP-də sintaksis haqqında bəzən ortaya çıxan bir sıra suallardır. Bu da cəmiyyət wikidir, buna görə hər kəs bu siyahının saxlanmasında iştirak edə bilər.

Niyə bu?

Operatorlar və digər sintaksis simvolları ilə bağlı sualları tapmaq çətin olurdu.
Əsas fikir PHP təlimatından məzmunu köçürmək deyil, daha asanlıqla onlara istinad edə bilməsi üçün yığma taşmalarda mövcud olan suallara istinad etməkdir.

Qeyd 2013-cü ilin yanvar ayından etibarən yığın daşması xüsusi simvolları dəstəkləyir . Yalnız axtarış qiymətlərini quotes ilə əhatə edin, məsələn [php] "==" vs "==="

Burada nə etməliyəm?

Kimsə belə bir sual soruşduğunuz üçün kimsə sizə göstərdiyində, aşağıdakı sintaksisini tapın. Əlaqədar suallar ilə yanaşı PHP təlimatı ilə əlaqəli suallar sizin sualınıza cavab verə bilər. Əgər belədirsə, cavabınızı artırmağa dəvət edirik. Bu siyahı başqalarının verdiyi yardımın əvəzi deyildir.

Siyahı

Belirli belirteç aşağıda listelenmemişse, onu ayrıştırıcının belirteçler siyahısında bulabilirsiniz .


> bitsel operatorlar və ya istinadlar


=> Bağlantılar


> Bitwise operatorları


> Məntiqi operatorlar


Aritmetik Operatorlar


!! Məntiqi operatorlar


@ Operatorlar səhvinə nəzarət


Ternary operatoru


?? Boş iştirak operatoru (PHP 7-dən bəri)


?string ?int an ?array ?bool ?float Dönüş növünün deklarasiyası Nullable (PHP 7.1-dən bəri)


Nəzarət strukturları üçün alternativ sintaksis , Ternary operator


:: Region icazə operatoru


\ Adların boşluqları


-> Dərslər və obyektlər


=> Diziler


^ Bitwise operatorları


Bitmiq operatorları


<< Bitsel operatorlar


<<< Heredoc və ya Nowdoc


= Atama Operatorlar


== müqayisə operatorları


=== müqayisə operatorları


!== müqayisə operatorları


!= Müqayisə operatorları


<> Müqayisə operatorları


<=> müqayisə operatorları (PHP 7.0-dan bəri)


| Bitsel operatorlar


|| Məntiqi operatorlar


~ Bitwise operatorları


Aritmetik operatorlar , array operatorları


+=-= Atama operatorları


++-- operatorları artırmaq / azaltmaq


.= Atama Operatorlar


. String operatorları


, Funksiya dəlilləri

Dəyişən bəyanatlar


$$ Dəyişənlər dəyişənləri


' İcraçı operator


<?= Keçmiş açıq etiketlər


[] Seriallar (PHP 5.4dən bəri qısa sözdizimi)


<? Etiketləri açma və bağlama


Dəlilləri açmaq (PHP 5.6-dan bəri)


** Pozlama (PHP 5.6-dan bəri)


# Tək xəttli çuxur stilinin şərhidir


4006
17 сент. Gordon tərəfindən 17 Sentyabrda təyin olundu . 2010-09-17 19:24 '10 at 19:24 2010-09-17 19:24
@ 1 cavab

Operatorların artırılması / azaldılması

++ artım operatoru

-- azalma operatoru

Yaşayış nümunəsi 

Yuxarıda göstərilən halda, ++$i daha sürətli olduğu kimi ++$i . $i++ eyni nəticələrə sahib olacaq.

Əvvəlcədən bir artım bir qədər daha sürətli olur, çünki bu, həqiqətən, dəyişənliyi artırır və nəticəni "qaytarır". Post-artım xüsusi dəyişən yaradır, orada ilk dəyişənin dəyərini kopyalar və ilk dəyişəndən sonra yalnız dəyəri ilə əvəz olunur.

Ancaq əvvəlki alma sayını göstərmək istədiyinizdən sonra, $apples-- istifadə etməlisiniz və $apples-- .

PHP-də məktubları da artıra bilərsiniz:

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

z çatdıqda, aa sonra, və s.

Xarakter dəyişənlərin artırıla biləcəyini, lakin azaldılmadığını və hətta bu halda yalnız ASCII simvollarını (az və AZ) dəstəklədiyini unutmayın.


Şərhlər:

1017
17 сент. Cavab Peter Ajtai 17 sep tərəfindən verilir . 2010-09-17 19:30 '10 saat 19:30 'da 2010-09-17 19:30

Bitmiq operator

Nə az? Bir bit 1 və ya 0 göstəricisidir. Əsasən OFF (0) və ON (1)

Bayt nədir? Bir bayt 8 bitdən ibarətdir və ən böyük byte 255dir, buna görə hər bit müəyyən edilir. Niyə maksimum bayt dəyərinin 255 olduğunu görəcəyik.

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

Bu təmsil 1 baytdır.

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

Daha yaxşı anlaşma üçün bəzi nümunələr.

Operator "VƏ": >

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

Nömrənin nömrəsi 8 olacaq. Niyə? Yaxşı nümunə tablonuzu istifadə edin.

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

Beləliklə, cədvəldən gördüklərimizə görə, payı yalnız bit 8 bitdir.

İkinci misal

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

İki ümumi bit - 32 və 4, birləşdikdə 36 qayıdır.

Operator "Və ya": |

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

Nömrənin sayı 11-ə çıxacaq.

 ------------------------------------------- | 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 və 1 sütunlardakı 3 bitimiz olduğunu görəcəksiniz. Bunları əlavə edin: 8 + 2 + 1 = 11.

388
31 окт. Cavab 31 oktyabrda Ankur Saxena tərəfindən verilir . 2012-10-31 16:28 '12 saat 16:28 'da 2012-10-31 16:28

Gettext üçün ad ()

_ gettext() Funksiyasındakı '_' xarakterinin altçizgi xarakteri gettext() funksiyasının bir gettext() .

245
29 нояб. Cavab Habeeb Perwad tərəfindən verilir Noyabr 29 2012-11-29 12:07 '12 at 12:07 2012-11-29 12:07
234
31 окт. Cavab 31 oktyabrda Ankur Saxena tərəfindən verilir . 2012-10-31 15:59 '12 at 3:59 pm 2012-10-31 15:59

<=> Spacecraft Operator

PHP 7-də əlavə olunmuşdur

Kosmos vasitəsi operatoru <=> PHP 7-də əlavə edilən son müqayisə operatorudur. Bu bərabərlik operatoru ( == != , === , != ) ilə eyni prioritetli olmayan birləşdirici olmayan ikili operatordur. Bu operator sol və sağ operatorların üçtərəfli müqayisəsini asanlaşdırmağa imkan verir.

Operator tamsayı ifadəsinə gətirib çıxarır:

  • 0 hər iki əmanət bərabər olduqda
  • Sol işlənmə sağ işlənmədən az olduqda 0'dan az
  • Sol əmranın hüququ operanddan daha böyük olduğu zaman 0'dan böyükdür

məsələn.

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

Bu operatorun yaxşı praktik tətbiqi iki dəyər arasında üçtərəfli müqayisəyə əsaslanan sıfır, mənfi və ya müsbət tamsayı qaytarılması gözlənilən tipli geri çağırışlarda olardı. usort keçən müqayisəli funksiya bir nümunədir.

PHP 7-dən əvvəl, yazmalısınız ...

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

PHP 7 ilə, yaza bilərsiniz ...

 $arr = [4,2,1,3]; usort($arr, function ($a, $b) { return $a <=> $b; }); 
214
08 июля '15 в 19:44 2015-07-08 19:44 Cavab Şerif tərəfindən 08 iyul '19: 15 saat 19:44' da verilir

Sehr sabitləri . Yalnız simvollar deyil, həm də bu marker ailəsinin mühüm bir hissəsi olmasına baxmayaraq. Səkkiz sehr seqmenti mövcuddur.

__LINE__ : __LINE__ cari xətti.

__FILE__ : tam yol və fayl adı. Daxildə istifadə edildikdə, daxil olunan faylın adı qaytarılır. PHP 4.0.2-dən bəri, __FILE__ hər zaman icazə verilən simvolik əlaqələrlə mütləq bir yola malikdir, buna baxmayaraq, köhnə versiyalarda bəzi hallarda nisbi bir yol var idi.

__DIR__ : fayl kataloqu. Daxildə istifadə edildikdə, daxil olunan faylın qovluğu qaytarılır. Bu dirname(__FILE__) bərabərdir dirname(__FILE__) . Kök dizin deyilsə, bu kataloq adının arxasındakı bir slash yoxdur. (PHP 5.3.0-da əlavə edilmişdir.)

__FUNCTION__ : funksiya adı. (PHP 4.3.0-da əlavə edilmişdir). PHP 5-dən başlayaraq, bu sabit funksiya adını bildirir (işi həssasdır). PHP 4-də onun dəyəri həmişə azalır.

__CLASS__ : __CLASS__ adı. (PHP 4.3.0-da əlavə edilmişdir). PHP 5-dən başlayaraq, bu sabit sinifin adını bəyan edilmiş olaraq qaytarır (işi həssasdır). PHP 4-də onun dəyəri həmişə azalır. Sinif adı elan edilmiş ad sahəsi (məsələn, Foo\Bar ) daxildir. Qeyd edək ki, PHP 5.4 ilə __CLASS__ işləyir. __CLASS__ üsulunda istifadə edildikdə, __CLASS__ istifadə edilən sinif adıdır.

__TRAIT__ : __TRAIT__ adı. (PHP 5.4.0 əlavə edilib). PHP 5.4 ilə başlayan bu sabit bir bəyanat verir, çünki elan edildi (işi həssas). Atributun adı elan edilmiş ad sahəsi (məsələn, Foo\Bar ) daxildir.

__METHOD__ : Sinif metodunun adı. (Əlavə PHP 5.0.0) Metod adı elan edildi (işi həssas).

__NAMESPACE__ : cari ad boşluğunun adı (halda həssas). Bu sabit kompilyasiya zamanı müəyyən edilir (PHP 5.3.0-da əlavə olunur).

Mənbə

209
24 апр. cavab Sumoanand 24 apr tərəfindən verilir . 2013-04-24 07:43 '13 at 07:43 2013-04-24 07:43

Operatorlar yazın

instanceof PHP dəyişəninin müəyyən bir sinif obyektinin bir nümunəsi olduğunu müəyyən etmək üçün istifadə olunur.

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

Yuxarıda göstərilən misal göstərilir:

 bool(true) bool(false) 

Niyə: Yuxarıdakı misal $a bir mclass obyektidir, belə ki, yalnız mclass data,

Miras ilə nümunə

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

Yuxarıda göstərilən misal göstərilir:

 bool(true) bool(true) 

Klon nümunəsi

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

Yuxarıda göstərilən misal göstərilir:

 bool(true) bool(true) 
130
31 окт. Maulik patel tərəfindən verilmiş cavab 31 oktyabr. 2013-10-31 08:48 '13 'da saat 08:48' da 2013-10-31 08:48

PHP-operatorların baxışları :


Məntiqi operatorlar:

  • $ a $ b: TRUE $ a və $ b həm TRUE.
  • $ a || $ b: TRUE və ya $ a və ya $ b TRUE.
  • $ a xor $ b: TRUE ya $ a və ya $ b TRUE, lakin ikisi də deyil.
  • !! $ a: TRUE, əgər $ a TRUE deyilsə.
  • $ a və $ b: TRUE hər ikisi $ a və $ b olduqda TRUE.
  • $ a və ya $ b: TRUE, $ a və ya $ b dəyəri TRUE.

Müqayisəli əməliyyatlar:

  • $ a == $ b: TRUE, əgər $ a bir növü cəzalandırıldıqdan sonra $ b bərabərdir.
  • $ a === $ b: TRUE, əgər $ a $ b bərabərdirsə və onlar eyni tipdədirlər.
  • $ a! = $ b: TRUE, əgər tipi manipulyasiya etdikdən sonra $ a $ b bərabər deyil.
  • $ a <> $ b: TRUE, əgər $ a növü manipulasiyasından sonra $ b bərabər deyil.
  • $ a! == $ b: TRUE, əgər $ a $ b ilə bərabər deyilsə və ya eyni tipli deyilsə.
  • $ a <$ b : TRUE $ a olduqca az $ b olduqda.
  • $ a> $ b : TRUE $ a olduqca böyükdürsə $ b.
  • $ a <= $ b : TRUE, əgər $ a $ b-dan azsa və ya bərabərdirsə.
  • $ a> = $ b : TRUE, əgər $ a $ b-dən çox və ya bərabərdirsə.
  • $ a <=> $ b : $ a az $ b-yə bərabər və ya daha böyük olduqda, sıfırdan daha az, bərabər və ya daha yüksək bir tamsayı. PHP 7 ilə mövcuddur.
  • $ a? $ b: $ c : if $ return $ b else $ c ( üçlü operator )
  • $ a ?? $ c : $ a ilə eyni? $ a: $ c ( sıfır birləşmə operatoru - PHP tələb olunur) = 7)

Aritmetik operatorlar:

  • - $ a : $ a qarşı.
  • $ a + $ b : $ a və $ b məbləğləri.
  • $ a - $ b : $ a və $ b arasındakı fərq.
  • $ a * $ b : Məhsul $ a və $ b.
  • $ a / $ b : Əvəzləşdirmə $ a və $ b.
  • $ a% $ b : Balans $ a ilə $ b bölündü.
  • $ a ** $ b : $ a-dan $ b-a qədər artırma nəticəsi (PHP 5.6 daxil edilir)

Artım / kiçiltmə operatorları:

  • ++ $ a : Artırımlar $ a-a, sonra $ a qaytarır.
  • $ a ++ : $ a qaytarır və sonra $ a artırır.
  • - $ a : $ a-ı bir az azaldır, sonra isə $ a qaytarır.
  • $ a-- : $ a qaytarır və sonra $ a-ı bir azaldar.

Bitsel operatorlar:

  • $ a $ b : $ a və $ b hər ikisində təyin olunan bitlər.
  • $ a | $ b : $ a və ya $ b-a təyin bitlər müəyyən edilir.
  • $ a ^ $ b : $ a və ya $ b olaraq təyin olunan bitlər, həm də ikisi deyil.
  • ~ $ a : $ a üçün təyin edilmiş bitlər təyin edilmir və əksinə.
  • $ a << $ b : addımların bitini $ a $ b sola daşıyın (hər bir addım "ikiyə çarpar" deməkdir)
  • $ a >> $ b : Adların bitini sağa $ a $ b qoyun (hər bir addım "ikiyə bölün" deməkdir)

String operatorları:

  • $ a. $ b : $ a və $ b birləşməsi.

Array operatorları:

  • $ a + $ b : $ a və $ b birliyi.
  • $ a == $ b : TRUE $ a və $ b eyni əsas / dəyər cütə malikdir.
  • $ a === $ b : TRUE $ a və $ b eyni əsasda və eyni növdə eyni açar / dəyər cütə malikdir.
  • $ a! = $ b : TRUE, əgər $ a $ b bərabər deyilsə.
  • $ a <> $ b : TRUE, əgər $ a $ b bərabər deyilsə.
  • $ a! == $ b : TRUE $ a $ b uyğun deyilsə.

Atama Operatorlar:

  • $ a = $ b : $ b dəyəri $ a təyin olunur
  • $ a + = $ b : $ a = $ a + $ b ilə eyni
  • $ a - = $ b : $ a = $ a - $ b ilə eyni
  • $ a * = $ b : $ a = $ a * $ b ilə eyni
  • $ a / = $ b : $ a = $ a / $ b ilə eyni
  • $ a% = $ b : $ a = $ a% $ b ilə eyni
  • $ a ** = $ b : $ a = $ a ** $ b ilə eyni
  • $ a. = $ b : $ a = $ a ilə eyni. $ b
  • $ a = $ b : $ a = $ a $ b ilə eyni
  • $ a | = $ b : $ a = $ a | ilə eyni $ b
  • $ a ^ = $ b : $ a = $ a ^ $ b ilə eyni
  • $ a << = $ b : $ a = $ a ilə eynidır << $ b
  • $ a >> = $ b : $ a = $ a ilə eynidır >> $ b

Qeyd

and operator or operator təyinat operatorundan daha aşağı prioritetə ​​malikdir = .

Bunun anlamı, $a = true and false; ($a = true) and false bərabərdir.

Çoğu halda, muhtemelen >|| istifadə etmək istəyirsən C, Java və ya JavaScript kimi dillərdə tanınan davranış.

108
18 янв. John Slegers tərəfindən verilmiş cavab 18 yanvar 2016-01-18 09:13 '16 'da 9:13 2016-01-18 09:13

Spacecraft operator <=> (PHP 7-də əlavə edilib)

Kosmos vasitəsi operatoruna nümunələr <=> (PHP 7, mənbə: PHP dərsi):

Dəyişənlərin üçtərəfli müqayisəsi üçün integers, floating-point ədəd, strings, array və obyektlər.

 // 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 окт. cavab 11 aylıq rajangupta verilir . 2015-10-11 17:15 '15 saat 17:15 'də 2015-10-11 17:15

{} qaşlar

Və sonuncu yazı haqqında bəzi sözlər.

 $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 нояб. Cavab 23 noyabr tarixində mnv verilmişdir 2015-11-23 23:27 '15 at 11:27 pm 2015-11-23 23:27

PHP strings: PHP strings yalnız iki şəkildə deyil, dörd şəkildə göstərilə bilər:

1) Tək tirnoq xətləri:

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

2) Cüt xətt simləri:

 $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 (PHP 5.3.0-dan bəri):

 $string = <<<'END_OF_STRING' This is my string END_OF_STRING; // print This is my string 
51
17 дек. Cavab devpro 17 dekabr 2015-12-17 10:41 '15 at 10:41 'də 2015-12-17 10:41

Zero Coalescing Operator (??)

Bu bəyanat, isset() ilə birgə üçlü bəyanatın istifadəsi üçün PHP 7.0-da əlavə olunmuşdur. Bu, əgər varsa, ilk operand qaytarır və NULL deyil; в противном случае он возвращает свой второй операнд.

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

Sual:

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


ОТВЕТ:

=> Является символом, который мы, люди, решили использовать для разделения пар "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; 

Если as, если бы мы хотели вызвать массив в некоторой более поздней части кода, мы могли бы сделать:

 echo $myArray1[1];// output: hello echo $myArray2[1];// output: hello echo $myArray3[1];// output: hello 

Пока все хорошо. Однако, как люди, нам может быть трудно запомнить, что индекс [0] для массива - это значение year 2016, индекс [1] для массива - это приветствия , а индекс [2] массива - это простое целочисленное значение . Альтернативой, которую мы должны были бы использовать, является использование так называемого Ассоциативного массива . Ассоциативный массив имеет несколько отличий от Sequential Array (это то, что было в предыдущих случаях, поскольку они увеличивают индекс, используемый в заданной последовательности, путем увеличения на 1 для каждого следующего значения).

Различия (между последовательным и ассоциативным массивом):

  • Завершая объявление ассоциативного массива, вы не только включаете value того, что хотите помещать в массив, но также ставите значение индекса (называемое key ), которое вы хотите использовать при вызове массива в последующих частях кода. Во время объявления используется следующий синтаксис: "Key" => "Value" .

  • При использовании Ассоциативного массива значение key затем будет помещено внутри индекса массива для получения желаемого value .

Məsələn:

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

И теперь, чтобы получить тот же результат, что и раньше, значение key будет использоваться в индексе массивов:

 echo $myArray1["Greetings"];// output: hello echo $myArray2["Greetings"];// output: hello echo $myArray3["Greetings"];// output: hello 

ЗАКЛЮЧИТЕЛЬНАЯ ТОЧКА:

Итак, из приведенного выше примера довольно легко видеть, что символ => используется для выражения отношения ассоциативного массива между каждой из пар key и value в массиве DURING инициирование значений внутри массива.

37
ответ дан Webeng 12 июня '16 в 14:07 2016-06-12 14:07

Вопрос

Что значит " означает здесь в PHP?

PHP " оператор

Делает жизнь проще, когда мы привыкнем к ней. (внимательно посмотрите пример ниже)

> обычно проверяет биты, которые установлены как в $a, так и в $b.

Вы даже заметили, как работают эти вызовы?

  error_reporting(E_ERROR | E_WARNING | E_PARSE); error_reporting(E_ERROR | E_WARNING | E_PARSE | E_NOTICE); error_reporting(E_ALL  ~E_NOTICE); error_reporting(E_ALL); 

Итак, за всем выше стоит игра побитового оператора и бит.

Одним из полезных примеров является простая конфигурация, как показано ниже, поэтому одно целое поле может хранить тысячи комбо для вас.

Большинство людей уже прочитали документы, но не привязали реальный случай использования этих побитовых операторов.

Пример, что вы будете любить

 <?php class Config { // our constants must be 1,2,4,8,16,32,64 ....so on const TYPE_CAT=1; const TYPE_DOG=2; const TYPE_LION=4; const TYPE_RAT=8; const TYPE_BIRD=16; const TYPE_ALL=31; private $config; public function __construct($config){ $this->config=$config; if($this->is(Config::TYPE_CAT)){ echo 'cat '; } if($this->is(Config::TYPE_DOG)){ echo 'dog '; } if($this->is(Config::TYPE_RAT)){ echo 'rat '; } if($this->is(Config::TYPE_LION)){ echo 'lion '; } if($this->is(Config::TYPE_BIRD)){ echo 'bird '; } echo "\n"; } private function is($value){ return $this->config  $value; } } new Config(Config::TYPE_ALL); // cat dog rat lion bird new Config(Config::TYPE_BIRD); //bird new Config(Config::TYPE_BIRD | Config::TYPE_DOG); //dog bird new Config(Config::TYPE_ALL  ~Config::TYPE_DOG  ~Config::TYPE_CAT); //rat lion bird 
25
ответ дан dev.meghraj 18 марта '17 в 9:05 2017-03-18 09:05

== используется для проверки равенства без учета переменной типа данных

=== используется для проверки равенства как для значения переменной *, так и для типа данных

bir nümunə

$a = 5

  1. if ($a == 5) - будет оцениваться как true

  2. if ($a == '5') - будет оцениваться как true, потому что при сравнении этого оба значения php внутренне преобразуют это строковое значение в целое число, а затем сравнивают оба значения

  3. if ($a === 5) - будет оцениваться как true

  4. if ($a === '5') - будет оцениваться как false, потому что значение равно 5, но это значение 5 не является целым числом.

19
ответ дан Parth Nayak 03 окт. '17 в 16:28 2017-10-03 16:28

Оператор Null Coalesce php

Нулевой коалесцирующий оператор (??) был добавлен в PHP7 для общего случая использования тройной связи с isset(). Он возвращает свой первый операнд, если он существует и не является NULL, иначе он возвращает свой второй операнд, например, следующий пример:

 $username = $_GET['user'] ?? 'nobody'; // This is equivalent to: $username = isset($_GET['user']) ? $_GET['user'] : 'nobody'; 
19
ответ дан mshomali 02 июля '17 в 10:55 2017-07-02 10:55

Оператор Null Coalesce "??" (Добавлено в PHP 7)

Не самое запоминающееся имя для оператора, но PHP 7 приносит довольно удобный нулевой коалесент, поэтому я решил поделиться с ним примером.

В PHP 5 у нас уже есть тернарный оператор, который проверяет значение, а затем возвращает второй элемент, если он возвращает true, а третий - если:

 echo $count ? $count : 10; // outputs 10 

Существует также сокращение для того, что позволяет пропустить второй элемент, если он будет таким же, как первый: echo $count?: 10;//также выводит 10

В PHP 7 мы дополнительно получаем оператор, который вместо того, чтобы указывать на чрезвычайную путаницу, которая, как я обычно использовал два вопросительных знака, вместо этого позволяет нам объединить цепочку значений. Чтение слева направо, первое значение, которое существует и не равно null, - это значение, которое будет возвращено.

 // $a is not set $b = 16; echo $a ?? 2; // outputs 2 echo $a ?? $b ?? 7; // outputs 16 

Эта конструкция полезна для указания приоритета одному или нескольким значениям, идущим, возможно, из пользовательского ввода или существующей конфигурации и безопасному возврату к заданному по умолчанию, если эта конфигурация отсутствует. Это своего рода небольшая функция, но я знаю, что буду использовать, как только мои приложения перейдут на PHP 7.

18
ответ дан Yogi Ghorecha 06 дек. '17 в 19:05 2017-12-06 19:05

Здесь указаны имена всех операторов PHP (TOKEN).

Ссылка http://php.net/manual/en/tokens.php

2019

ответ дан Mahmoud Zalt 23 нояб. '17 в 3:04 2017-11-23 03:04

Обнуляемое объявление типа возврата

В PHP 7 добавлена поддержка объявлений возвращаемых типов. Аналогично объявлениям типа аргумента, декларации возвращаемого типа определяют тип значения, которое будет возвращено из функции. Для объявлений возвращаемого типа доступны те же типы, что и для объявлений типов аргументов.

Строгая типизация также влияет на объявления возвращаемых типов. В слабом режиме по умолчанию возвращаемые значения будут приводиться к правильному типу, если они еще не относятся к этому типу. В сильном режиме возвращаемое значение должно быть правильного типа, в противном случае выдается ошибка TypeError.

Начиная с PHP 7.1.0, возвращаемые значения могут быть помечены как обнуляемые, если перед именем типа ставить знак вопроса (?). Это означает, что функция возвращает либо указанный тип, либо NULL.

 <?php function get_item(): ?string { if (isset($_GET['item'])) { return $_GET['item']; } else { return null; } } ?> 

Mənbə

0
ответ дан John Conde 16 янв. '19 в 15:42 2019-01-16 15:42

Другие вопросы по меткам или Задайте вопрос