如何从memcache获取数组| PHP

时间:2013-09-30 11:54:45

标签: php arrays memcached

我对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完美无缺?

1 个答案:

答案 0 :(得分:0)

丑陋,但有效

$var_key = $memcache->get($_POST['link']);
$var_key = array(0=>$var_key);

if (is_array($var_key[0]) AND count($var_key[0]) > 0) {
...

...所以不是真的推荐,只是修复使用你目前拥有的代码而不需要很多更改!

...上述代码的理由在我的评论中给出(对于那些无法阅读的人)。