php 命令-询问总是返回真?

c9qzyr3d  于 2023-02-15  发布在  PHP
关注(0)|答案(2)|浏览(111)

我有这样一段代码:

if($this->ask('Is this holiday booked? [y|N]')) {
                    $holiday->booked = true;
                } else {
                    $holiday->booked = false;  
                }

在Laravel 5.2命令中,但无论响应如何,它似乎总是返回真。
我也试过:

if($this->ask('Is this holiday booked? [y|N]') === true) {
                        $holiday->booked = true;
                    } else {
                        $holiday->booked = false;  
                    }

但这总是把它作为false输入到数据库中,不管我输入y还是n。
这无疑是愚蠢的,但有人能看出我哪里错了吗?
谢谢。

gab6jxml

gab6jxml1#

最终使用:

if(!$this->confirm('Is this holiday booked? [y|N]'), false) {
                        $holiday->booked = false;
                    } else {
                        $holiday->booked = true;  
                    }
tjvv9vkg

tjvv9vkg2#

或者试试这个:):

$input = $this->ask('Is this holiday booked? [y|n]');

  if($input == 'y' || $input == 'Y') {
      $holiday->booked = true;
  } 
  elseif($input == 'n' || $input == 'N') {
    $holiday->booked = false;
  }
   else {
    $this->error("wrong input"); 
  }

相关问题