距开课0天0时0分-9638259秒
淡淡烟草味2017-06-21 10:10:43 0 4 304
[PHP讨论组]举报回复话题 ↕
我通过get方式传递一个age=22的参数,$request->age可获取到相应的值,但是执行下图13行代码时,为什么if判断通过了,直接输出14行内容了?
4
0
分享
大家讲道理 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:433楼
写成这个试试
if(($request->age) <18)
漂亮男人 2017-06-21 10:12:432楼
很诡异的url应该为:www.laraveltest.com:8888/agetest/22或者:www.laraveltest.com:8888/agetest?age=22
你访问的url不对
大家讲道理 2017-06-21 10:12:431楼
根本没有理解传参数的用法啊。你是刚用laravel吧。使用不对的。你写的{age}只是一个占位符类似的东西,你路由后面跟的age=22,那相当于参数就是age=22啊。你直接跟上22就行了,不用加age。谢谢
大家讲道理 2017-06-21 10:12:434楼
赞 +0添加回复
我想大声告诉你 2017-06-21 10:12:433楼
写成这个试试
赞 +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添加回复