PHP完全相同的比较运算符与赋值运算符的组合

坚果

以下代码来自Symfony 2,输入字符串“ folder / file.exe”,将输出“ file.exe”。

protected function getName($name)
{
    $originalName = str_replace('\\', '/', $name);
    $pos = strrpos($originalName, '/');
    $originalName = false === $pos ? $originalName : substr($originalName, $pos + 1);

    return $originalName;
}

但是,我可以理解以下代码结构之外的所有内容:

    $var = false === 'something';

谁能向我解释一下?谢谢!

编辑:谢谢大家的帮助,也许下面的代码比上面的代码更清晰:

    $originalName = ((false === $pos) ? $originalName : substr($originalName, $pos + 1));
宝来
$originalName = false === $pos ? $originalName : substr($originalName, $pos + 1);

以上流程扩展:

if($pos === false) {
   $originalName = $originalName;
} else {
   $originalName = substr($originalName, $pos + 1);
}

或者

if($pos !== false) {
   $originalName = substr($originalName, $pos + 1);
}

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章