duanjiebian6712 2013-09-07 13:58
浏览 54
已采纳

PHP相同比较运算符与赋值运算符相结合[重复]

This question already has an answer here:

The following code is from Symfony 2, input string 'folder/file.exe', will output 'file.exe'.

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

    return $originalName;
}

However, I can understand everything but the following code structure:

    $var = false === 'something';

Can anyone explain this to me? Thanks!

Edit:Thanks all for helping me, maybe the following code is more clear than the above code:

    $originalName = ((false === $pos) ? $originalName : substr($originalName, $pos + 1));
</div>
  • 写回答

3条回答 默认 最新

  • doulangyu9636 2013-09-07 14:04
    关注
    $originalName = false === $pos ? $originalName : substr($originalName, $pos + 1);
    

    Expansion above process:

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

    Or

    if($pos !== false) {
       $originalName = substr($originalName, $pos + 1);
    }
    
    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(2条)

报告相同问题?