我像这样添加会话变量:
foreach ( $data as $key => $value ) {
$this->Session->write("MyVariable.$key", $value );
}
是否可以在不传递密钥的情况下将元素添加到会话变量数组中? 我的意思是这样的:
$MyArray[] = "apple";
$MyArray[] = "banana";
那么可以这样添加吗?伪代码:
$this->Session->write('MyVariable'.[], "apple");
$this->Session->write('MyVariable'.[], "banana");
编辑:$data
数组用于举例。将保存的数据不是数组。这是一个字符串。每次我添加到会话变量我都不想通过代码给出密钥。我想知道它是否可以开箱即用。在我目前的代码中,我这样做:
$newKey = count( $this->Session->read("MyVariable") );
$this->Session->write("MyVariable.$newKey", "apple");
答案 0 :(得分:0)
嗨,我想它应该是这样的:
foreach ( $data as $key => $value ) {
$this->Session->write('MyVariable.'.$key, $value );
}
您必须在引号内放置一个点。
答案 1 :(得分:0)
如果您不想每次都给出键值,那么将其存储为像@mark这样的数组
$this->Session->write("MyVariable", $data);
如果要在代码的其他部分向$ data数组添加新值,则必须执行类似
的操作$data = $this->Session->read("MyVariable");
$data[] = array('other'=>'value');
$this->Session->write("MyVariable", $data);
或添加像@mmahgoub所说的确切密钥
$this->Session->write("MyVariable".$key, $value);