私がこのようなPhp関数を持っているとしましょう:
private function verification($isXLSFile = false) {
if ($isXLSFile) {
$this->parseXLSFile();
}else {
$parsedCSVArr = $this->getCSVarr();
Zend_Registry::get('VMMS_ZEND_CACHE')->save($parsedCSVArr, $this->getXLSCacheName());
Zend_Registry::get('VMMS_ZEND_CACHE')->save($isXLSFile, $this->getXLSCacheName());
}
}
次に、次のようにCACHEをチェックする別の関数を呼び出します。
private function process(){
Logger::info("EnterDataMassUpload - Start Process...");
if (($parsedCSVArr = Zend_Registry::get('VMMS_ZEND_CACHE')->load($this->getXLSCacheName())) === false) {
$this->verification();
return;
}
//if XLS file it reads the lines for each sheet.
if ($isXLSFile == true) {
$i=0;
//make sure there's no duplicated row
$parsedCSVArr = array_unique($parsedCSVArr, SORT_REGULAR);
foreach($parsedCSVArr as $sheetIndex=>$arr){
foreach ($arr as $k=>$line) {
$this->processLine($line, $k);
$i++;
}
}
} else { //for a CSV file
foreach($parsedCSVArr as $k=>$line){
$this->processLine($line, $k);
}
}
// ...
ご覧のとおり、関数で読み取るために、同じ場所に2つの変数を保存しようとしていますprocess()
。私の旗が機能しない理由を知っていますか?つまり、2つの変数を同じ場所に保存できますか?
Zend_Registry::get('VMMS_ZEND_CACHE')->save($parsedCSVArr, $this->getXLSCacheName());
Zend_Registry::get('VMMS_ZEND_CACHE')->save($isXLSFile, $this->getXLSCacheName());