首页 >社区问答列表 >php - 中间件中判断问题

php - 中间件中判断问题

我通过get方式传递一个age=22的参数,$request->age可获取到相应的值,但是执行下图13行代码时,为什么if判断通过了,直接输出14行内容了?

  • 大家讲道理
  • 大家讲道理    2017-06-21 10:12:434楼

    你的访问的url不对的,
    Route::get('/ages=test/{age}',['middleware'=>'test',function($age){
        return "年龄符合标准";
    }]);这个路由 传参的时候,age只需要传数字,不要age=22 这个就是字符串了,所以dd($request->age)
    出来是“age=22”,数字比较的时候,字符串转换为0 ,所以一直进入if语句
    

    +0添加回复

  • 回复
  • 漂亮男人
  • 漂亮男人    2017-06-21 10:12:432楼


    很诡异的url
    应该为:www.laraveltest.com:8888/agetest/22
    或者:www.laraveltest.com:8888/agetest?age=22

    你访问的url不对

    +0添加回复

  • 回复
  • 大家讲道理
  • 大家讲道理    2017-06-21 10:12:431楼

    根本没有理解传参数的用法啊。你是刚用laravel吧。使用不对的。你写的{age}只是一个占位符类似的东西,你路由后面跟的age=22,那相当于参数就是age=22啊。你直接跟上22就行了,不用加age。谢谢

    +0添加回复

  • 回复