为什么会这样
$count = 0;
echo $count === 0
? 'zero'
: $count === 1
? 'one'
: 'more';
回响1?它不应该回零吗?
答案 0 :(得分:3)
使用括号!
echo ($count === 0 ? 'zero' :($count === 1 ? 'one': 'more') );
你的版本回应'one'的原因是因为php认为第一个?
是声明的一部分,因此如果$count
等于零,那么做最后一件事(?
})这是'one'
阅读this
答案 1 :(得分:1)
虽然这是一个很短的值列表,但您也可以使用地图:
$map = array("zero", "one", "more");
echo $map[min($count,2)]; // trick: 2 becomes max value via min()