1

我正在使用这段代码:

<?php
include_once('/simple_html_dom.php');
$dom = file_get_html("http://www.gsmarena.com/samsung_i9300_galaxy_s_iii-4238.php");
foreach ($dom->find('tr') as $node) {
if (is_a($node->children(0), 'simple_html_dom_node')) {
    if ($node->children(0)->plaintext == "Protection") {
        $plain = explode(',', $node->children(1)->plaintext);
    if($plain[0] === null){echo 'Nu are';}
     elseif($plain[0]!== null) {echo $plain[0];
     if($plain[1] === null){echo 'Nu are';}
     elseif($plain[1] !== null) {echo $plain[1];} 
     }  
    }

    }
}

?>

我想要的是是否存在 $plain[x] 或 $plain[y] 来告诉我是否不显示自定义文本(在我的情况下为“Nu are”)。一切都很好,代码运行良好,因为 $plain[1] 在当前情况下不存在,但我也收到错误消息。

这是从代码中收到的结果:

Corning Gorilla Glass 2 Notice: Undefined offset: 1 in E:\server\htdocs\preluare\1.php on line 10 Nu are

首先是向我显示偏移量 0,因为存在且第二个偏移量不存在,并向我显示错误和错误之后是正确的自定义文本。

正确的结果是Corning Gorilla Glass 2 Nu are

4

1 回答 1

0

代替

$plain[1] !== null

采用

array_key_exists(1, $plain)

或者

isset($plain[1])
于 2013-02-02T11:31:43.480 回答