0

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完全に機能するのでしょうか?

4

1 に答える 1

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) {
...

...あまりお勧めしません。多くの変更を加えずに現在のコードを使用するための修正です。

...そして、上記のこのコードの正当性は、私のコメントに記載されています(読めない人向け)。

于 2013-09-30T12:14:27.497 に答える