如何在url中获取params,它是数组? yii2

时间:2015-08-15 05:48:23

标签: php yii2 yii2-basic-app

我有这样的网址

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

我想得到DataSearch ['Tanggal'] dan DataSearch [TANGGAL_SELESAI]

我已尝试使用

进行身份验证
 Yii::$app->request->queryParams['id'] 

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

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

 Undefined index: DataSearch[TANGGAL] 

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

3 个答案:

答案 0 :(得分:5)

你可以从这样的数组中获取它们:

{{1}}

答案 1 :(得分:2)

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

use Yii;
use yii\helpers\ArrayHelper;


...

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

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

官方文档:

答案 2 :(得分:-1)

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

//尝试打印值

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

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