我正在学习php语法,但当出现这样的事情时,我会陷入困境:
if ( $joker == 1 && $this->has_jokers ) $score *= $joker_multiplier;
每个部分的意思是什么?
if ( $joker == 1 && $this->has_jokers )
- 当
$joker
变量的值为1
,$this->has_jokers
的值计算为true
时,则if条件成功
$score *= $joker_multiplier;
- 否则写为
$score = $score * $joker_multiplier;
- 因此,
$score
变量被替换(先前的值被替换)为$score
值乘以$joker_multiplier
值
tl;dr
当您有joker和它唯一的一个时,您将分数与$joker_multiplier
变量中初始化的值相乘
如果名为$jokers的变量等于1且名为$的对象的属性has_jokers为TRUE,则将名为$score的变量设置为当前值$score乘以名为$joker_multer的变量。
不确定这是否是您想要的,但是,
- $joker是一个变量
- 如果$joker为1,则$joker==1返回true
- $this->has_joker意味着has_jocker是您所在类的一个属性
- $score*=$joker_multer,与$score=$score*$joker.multer相同,白色乘数可能是前面定义的另一个变量
顺便说一下,只有当$joker为1并且has_jokers为true时,它才会相乘。