Yii2 如何将参数转换为数组

Yii2 如何将参数转换为数组,yii2,Yii2,我收到以下网址 /articles?difficulty=1,2 在框架内,我希望从它接收一个数组-[1,2]。框架中是否有任何方法可以自动将这样的参数转换为数组?框架能做到这一点吗?我可以这样做explode(',',$params['defestion'])——但我想知道这个框架是否可以处理 我不想这样传递参数: /articles?difficulty[]=1&difficulty[]=2 试试这个 使用请求类 print\r(Yii::$app->request->get(

我收到以下网址

/articles?difficulty=1,2
在框架内,我希望从它接收一个数组-
[1,2]
。框架中是否有任何方法可以自动将这样的参数转换为数组?框架能做到这一点吗?我可以这样做
explode(',',$params['defestion'])
——但我想知道这个框架是否可以处理

我不想这样传递参数:

/articles?difficulty[]=1&difficulty[]=2
试试这个

使用请求类

print\r(Yii::$app->request->get())print\r($\u-GET)在纯php中

如果您想要一个特定的$\u GET变量,请按如下方式访问它:

Yii::$app->request->get('difficulty');
在您的情况下,它将是:

$success = Yii::$app->request->get('success');
$token = Yii::$app->request->get('token');
然后,用逗号将其分解,这样它将被转换为数组

$array = explode(',', $success );

框架
Request
组件中没有用于转换这些值的助手,可以使用本机PHP
explode
函数轻松实现。使用:

$array = explode(',', $string);
正如你所建议的


但是
explode
的包装器存在-,它有额外的选项来修剪和跳过空元素,您也可以使用它。但是大多数情况下,使用常规的
爆炸
应该就足够了。

谢谢,但我不感谢这回答了我的问题<代码>Yii::$app->request->get(‘难度’)返回
“1,2,3”
而不是
[1,2,3]
我想这就是你可以看到的@arogachev answer的方式。谢谢,如果我使用
Yii::$app->request->get('难点'),我希望框架能够自动处理这个问题
,所以我不会忘记使用
分解
。你认为我可以通过重写
get
方法来实现这一点吗?@Maximus我认为这对于这么小的任务没有意义。@arogachev实际上有一个助手:)签出并在出现
defficity=1、2、4