PHP Operatör Precedance: Üçlü XOR Ödev

0 Cevap php

Sorusu üzerine benim cevap yazdıktan sonra how to assign to multiple variables in a ternary operator Aslında ben yazdım kodu denedim:

true ? $w = 100 xor $r = 200 : $w = 300 xor $r = 400;
var_dump($w); var_dump($r);

(Bu teorik olduğunu, gereksiz rahatsız etmeyin.)

Şimdi, göre, PHP bu şekilde yapmak için bekliyoruz operator precedence olacaktır:

 true  ?   $w = 100  xor  $r = 200   :   $w = 300  xor  $r = 400  ;
(true) ? ( $w = 100  xor  $r = 200 ) : ( $w = 300  xor  $r = 400 );
(true) ? (($w = 100) xor ($r = 200)) : (($w = 300) xor ($r = 400));

Üçlü operatörün ilk bölümü değerlendirilir gibi, bu çıktıyı gerekir:

int 100
int 200

Ama onun yerine ben almak

int 100
int 400

Bu parçaları both parts of the ternary operator yürütülmesini gerektirir, çünkü bu, benim için çok garip.

O benim düşünce bazı aptal hatam ... varsayalım

0 Cevap