这是什么意思?$ length = null === $ length?strlen($ data):( int)$ length;

MEM*_*MEM 1 php

我或多或少都知道三元运算符.但是我无法读到这一行.

$length = null === $length ? strlen($data) : (int)$length ;
Run Code Online (Sandbox Code Playgroud)

$ length = null === $ length是什么意思?

非常感谢,MEM

Ais*_*ina 10

它相当于

if (null === $length)
  $length = strlen($data);
else
  $length = (int)$length;
Run Code Online (Sandbox Code Playgroud)


Fel*_*ing 8

它的意思是:

如果值$lengthnull,分配strlen($data)$length,否则(int)$length.


如果将括号放在正确的位置,则更容易理解:

$length = (null === $length) ? strlen($data) : (int)$length ;
Run Code Online (Sandbox Code Playgroud)