2012-01-28 9 views
2

これは非常にシンプルですと確信しています。コントローラにajaxコールがあります。コールは、値のペア(識別子と値)を渡します。私はこれを行うことができるように識別子の名前だけでなく、価値を知っておく必要があります。Zendフォーム_request-> getParams()にparamが存在しますか?

 switch ($identifier) { 
    case 'country': 
     //set value for something 
     break; 
    case 'region': 
     //set value for something else 
     break; 
} 

それは必要はありませんので、私は追加の値を渡すために希望されません。

私はこれを試して、うんざりしたコードとは別に、うまくいきませんでした!

 $requestparams=$this->_request->getParams(); 
     list($controller,$action,$module,$levelpair)=$requestparams; 
     list ($level,$id)=$levelpair; 

答えて

3

これを試してみてください:

$requestparams=$this->_request->getParams(); 
    foreach($requestparams as $key => $value) { 
    switch ($key) { 
    case 'country': 
     //set value for something 
     break; 
    case 'region': 
     //set value for something else 
     break; 
    } 
    } 
4

ではなく、直接保護されたメンバーにアクセスするためのコントローラメソッドを使ってパラメータを取得するほうが安全です。また、私が言うことから、switchは最良のアプローチではありません。

試してみてください。

$requestParams = $this->getRequest()->getParams(); 

if (isset($requestParams['country'])) { 
    //do something 
} 

if (isset($requestParams['region'])) { 
    //do something 
}