suchen

Heim  >  Fragen und Antworten  >  Hauptteil

php – Beurteilungsproblem in Middleware

Ich übergebe einen Parameter von age=22 über die get-Methode, und $request->age kann den entsprechenden Wert erhalten. Aber wenn ich die 13. Codezeile in der Abbildung unten ausführe, warum wird das if-Urteil bestanden und 14 Zeilen von Inhalte werden direkt ausgegeben?

淡淡烟草味淡淡烟草味2763 Tage vor706

Antworte allen(4)Ich werde antworten

  • 大家讲道理

    大家讲道理2017-06-21 10:12:43

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

    Antwort
    0
  • 我想大声告诉你

    我想大声告诉你2017-06-21 10:12:43

    写成这个试试

    if(($request->age) <18)

    Antwort
    0
  • 漂亮男人

    漂亮男人2017-06-21 10:12:43


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

    你访问的url不对

    Antwort
    0
  • 大家讲道理

    大家讲道理2017-06-21 10:12:43

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

    Antwort
    0
  • StornierenAntwort