如何使用带有物体的开关盒的替代品?

时间:2016-12-13 14:10:02

标签: php switch-statement

假设我有一个对象Class,它有(或不是)一个对象student和一个属性id

我想制作一个案例场景,它可以在以下情况下执行以下操作:

  • 如果student中有 class
  • (如果有student)如果学生的name为“ Brian
  • 如果id的{​​{1}} 3602 (例如)
  • 这些测试的其他组合

你可以看到它看起来有点像switch语句,除了我没有使用字符串来测试这些情况,所以我无法使用switch。

有一种方法可以使用像switch这样的实用的东西而不是多个if?

更新 我不需要使用开关,所以我对任何其他可能有多个测试用例的建议持开放态度。我只是认为,如果,elsif,elsif,等等,有点令人困惑

1 个答案:

答案 0 :(得分:0)

试试这个:

switch (true) {
    case $object->student === null:
        // do stuff
        break;
    case  $object->student->name === 'Brian':
        // do other stuff
        break;
    // ...
}