我正在尝试创建一个会话变量,并将数组中的值分配给此会话变量。我怎样才能做到这一点。 我正在创造如下,但我无法达到它的功能。
$post = Zend_Controller_Front::getInstance()->getRequest()->getParam('key');
$searches = new Zend_Session_Namespace('searches');
$parthis= $searches->partssearched;
if(!is_array($parthis)){
$parthis->toArray();
$parthis[0]=$post;
} else {
$count= sizeof($parthis)."<br>";
if ($this->rows ) {
if ($count==0) {$parthis[0]=$post;}
//$searches[$count]=$this->rows;
echo $parthis[0]."HERE";
} else {
$parthis[$count]=$post;
foreach($parthis as $hist) {
echo $hist;
}
}
}
$this->rows
来自控制器,它正在携带数据库查询结果。
我想在这里做的是我想将Get值存储到一个会话变量中,并将其作为数组运行。
应该像$parthis= array (value1, value2, value3);
每当用户在url中传递一个值时,它应该加起来。
谢谢
答案 0 :(得分:0)
你可以使用如下
$this->objSess = new Zend_Session_Namespace('searches');
$details[$ItemID]=array(
'itmeid'=>$ItemID,
'itemname'=>$itemname['ItemName'],
'qty'=>$Quantity,
'price'=>$Price,
'originalprice'=>$itemname['OriginalPrice'],
'saveprice'=>number_format($itemname['OriginalPrice']*$Quantity,2),
'restaurantid'=>$RestaurantID,
'Conversionsymbol'=>$conversionsymbol,
'ConversionRate'=>$currencyrate,
);
$this->objSess->ORDERITEMS=$details;
或者您也可以使用替代方式
$this->objSess->ORDERITEMS[$ItemID]['qty']=$details[$ItemID]['qty'];
$this->objSess->ORDERITEMS[$ItemID]['price']=$details[$ItemID]['price'];
希望这一定会帮到你
答案 1 :(得分:0)
我认为你正在尝试这样做。
$key = Zend_Controller_Front::getInstance()->getRequest()->getParam('key');
$searches = new Zend_Session_Namespace('searches');
if (!is_array($searches->partssearched)) {
$searches->partssearched = array($key);
} else {
array_push($searches->partssearched, $key);
}
这将创建和更新您的数组,您可以通过print_r($searches->partssearched);
如果你在一个动作中写这个,你可以使用它代替第一行。
$key = $this->getRequest()->getParam('key');