很多时候我觉得这是多余的:$found=$repo->findOneByCode($code);$zone=isset($found)?$found:newZone();任何人都可以提出一个更好的方法,类似于(不工作):$zone=$repo->findOneByCode($code)||newZone();编辑:我无法修改Zone和findOneByCode,因为它们是DoctrineORM自动生成的类和函数。 最佳答案 如果您使用>=PHP5.3$zone=$repo->findOneByCode($code)?:newZone