PHP ===和?和:符号含义

Jac*_* M. 1 php

这是WebSocket客户端的摘录,以下代码行的含义是什么?

$frameHead[1] = ($masked === true) ? $payloadLength + 128 : $payloadLength;
Run Code Online (Sandbox Code Playgroud)

我这样读了(查看下面)

If Masked == True Then $frameHeadHead[1] = $payloadLength + 128 / $payloadLength
Run Code Online (Sandbox Code Playgroud)

我不明白的($masked === true),以及我不明白的: $payLoadLength;(什么是:对符号?)

如果Masked == False呢?没有结果?

Rah*_*thi 7

那个(?:)被称为三元运算符.

(condition) ? /* if condition is true then return this value */ 
            : /* if condition is false then return this value */ ;
Run Code Online (Sandbox Code Playgroud)

另外===比较对象的内部对象id.它用于严格比较."==="意味着它们是相同的.

在旁注:

注意:请注意,三元运算符是一个表达式,它不会计算变量,而是表达式的结果.知道是否要通过引用返回变量很重要.声明返回$ var == 42?$ a:$ b; 因此,在返回引用函数中将不起作用,并且在以后的PHP版本中发出警告.

  • 当所有其他答案都没有提及时,实际给出名称的+1. (3认同)

小智 5

$frameHead[1] = ($masked === true) ? $payloadLength + 128 : $payloadLength;

it  conditional statement like if and else  

 if($masked === true){ $payloadLength + 128 } else {$payloadLength;}
Run Code Online (Sandbox Code Playgroud)