我理解while,ifs,fors,cases,arrays function和其他语法结构,我的编码经验是70年代风格的Fortran和T-SQL.
现在我正在尝试理解PHP,但偶尔似乎会将几个语句压缩成一个混淆的代码行.以下单行PHP的扩展等价物是什么?
$start = gt("start") === false ? 0 : intval(gt("start"));
Run Code Online (Sandbox Code Playgroud)
它是一个三元运算符.它们通常具有以下格式:
expr1 ? expr2 : expr3;
Run Code Online (Sandbox Code Playgroud)
意思是:
if expr1 then return expr2 otherwise return expr3
Run Code Online (Sandbox Code Playgroud)
它可以看作如下:
您的代码可以重写为:
if (gt("start") === false) {
$start = 0;
} else {
$start = intval(gt("start"));
}
Run Code Online (Sandbox Code Playgroud)
它可以改进如下,以避免额外的函数调用:
if (($result = gt("start")) === false) {
$start = 0;
} else {
$start = intval($result);
}
Run Code Online (Sandbox Code Playgroud)