以下代码来自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));
答案 0 :(得分:2)
$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);
}
答案 1 :(得分:1)
这是if else条件的简短形式
if($a == 1) {
$value = 1;
} else {
$value = 2;
}
同样的事情是
$value = $a==1 ? 1 : 2;
答案 2 :(得分:1)
请参阅http://www.php.net/manual/en/language.operators.comparison.php
===
仅在类型(字符串,整数等)相同时才返回true