如何获取 url 中的参数,并且是数组? yii2

How to get params in url , and it is array? yii2

我有url这样的

 http://localhost/belajar4/web/index.php?r=data%2Fsingle&id=2&DataSearch[TANGGAL]=2015-08-04&DataSearch[TANGGAL_SELESAI]=2015-08-12 

我想获取 DataSearch['Tanggal'] 和 DataSearch[TANGGAL_SELESAI]

我已经尝试使用

获取 id
 Yii::$app->request->queryParams['id'] 

它是成功的,但不是 DataSearch['Tanggal']

当我尝试 DataSearch['Tanggal'] 时,错误是

 Undefined index: DataSearch[TANGGAL] 

我想应该很容易回答,但我是 yii2 的新手,我还没有找到解决方案

您可以像这样从数组中获取它们:

Yii::$app->request->queryParams['DataSearch']["TANGGAL_SELESAI"]
Yii::$app->request->queryParams['DataSearch']["TANGGAL"]

您还可以将 ArrayHelper::getValue()Yii::$app->request->get() 与圆点符号结合使用:

use Yii;
use yii\helpers\ArrayHelper;


...

$value = ArrayHelper::getValue(Yii::$app->request->get(), 'DataSearch.TANGGAL_SELESAI');

主要优点是可以避免Undefined index异常并更改默认值(第三个参数)。

官方文档:

我遇到了更棘手的问题并花了很多时间来获取价值,但不知何故我找到了如下解决方案。

// 尝试打印值

echo Yii::$app->request->queryParams['DataSearch']['"TANGGAL_SELESAI"'];

echo Yii::$app->request->queryParams['DataSearch']['"TANGGAL"'];