我收到以下网址
/articles?difficulty=1,2
在框架内部,我希望从中获取一个数组 - [1,2]
。框架中是否有任何方法可以将类似的params自动转换为数组?框架能做到吗?我可以这样做explode(',', $params['difficulty'])
- 但我想知道这是否可以由框架处理。
我不想这样传递params:
/articles?difficulty[]=1&difficulty[]=2
答案 0 :(得分:3)
框架Request
组件中没有用于转换此类值的帮助程序,可以使用本机PHP explode
函数轻松实现。使用:
$array = explode(',', $string);
正如你的建议。
但是explode
的包装器存在 - \yii\helpers\StringHelper::explode(),它有修剪和跳过空元素的其他选项,你也可以使用它。但大多数时候使用常规explode
就足够了。
答案 1 :(得分:0)
试试这个
使用Request类。
http://www.yiiframework.com/doc-2.0/yii-web-request.html
print_r(Yii::$app->request->get());
返回数组中的所有get变量。这就像在直接的PHP中做print_r($_GET);
。
如果你想要一个特定的$ _GET变量,你可以按如下方式访问它:
Yii::$app->request->get('difficulty');
在你的情况下,它将是:
$success = Yii::$app->request->get('success');
$token = Yii::$app->request->get('token');
之后用逗号爆炸它,所以它会被转换成数组。
$array = explode(',', $success );