Laravel 请求带有 switch 语句

Ahm*_*sef 1 if-statement request switch-statement laravel

我有一个带有一堆提交输入的表单,每个输入都有一个唯一的名称,现在我想在控制器中检查正在单击哪个输入。

表格

<input type="submit" name="button_1" value="1">
<input type="submit" name="button_2" value="2">
<input type="submit" name="button_3" value="3">
<!-- and more submit inputs -->
Run Code Online (Sandbox Code Playgroud)

在控制器中,我现在使用 if else 来检查正在单击哪个输入,例如我可以使用这个

if ($request->input('button_1'))
    {$message = '1'; // and more code
    }
elseif ($request->input('button_2'))
    {$message = '2'; // and more code
    }
elseif ($request->input('button_3'))
    {$message = '3'; // and more code
    }
// ...
Run Code Online (Sandbox Code Playgroud)

或者我可以用这个

if ($request->has('button_1')) {$message = '1';}
elseif ($request->has('button_2')) {$message = '2';}
elseif ($request->has('button_3')) {$message = '3';}
// ...
Run Code Online (Sandbox Code Playgroud)

有没有更好的方法来检查哪个提交输入被单击,例如 switch 方法,因为这将使编写逻辑更加简单和清晰,但我无法弄清楚。

Dig*_*ter 5

您可以开启true

switch (true) {
  case $request->has('button_1'):
    // do something
    break;
  case $request->has('button_2'):
    // do something else
    break;
  case $request->has('button_3'):
    // do something 
    break;
}
Run Code Online (Sandbox Code Playgroud)

  • 这就是我一直在寻找的。我不知道我可以打开 true :) (2认同)