我对memcache有一点问题。
我的代码:
$var_key = $memcache->get($_POST['link']);
if(empty($var_key)) {
foreach($var_key as $value) {
$result['link_download'] = $value['link_download']; // doens't work
$result['discription'] = $value; // it works
}
}
else {
foreach($html->find('.class') as $value) {
$result['link_download'] = pq($value)->find('a:eq(1)')->attr('href');
$result['discription'] = pq($value)->find('tr:eq(0) > td:eq(1)')->html();
}
}
if(empty($var_key)) {
$memcache->replace($_POST['link'], $result);
$memcache->set($_POST['link'], $result, false, 1*60);
}
为什么$value['link_download']
或$value['discription']
不起作用,而只是$value
完美地工作?
很丑,但可以工作
$var_key = $memcache->get($_POST['link']);
$var_key = array(0=>$var_key);
if (is_array($var_key[0]) AND count($var_key[0]) > 0) {
...
。所以不是真的推荐,只是一个修复程序,使用您当前拥有的代码而无需进行太多更改!
。上面这段代码的理由在我的评论中给出(对于那些看不懂的人)。