0

In fact im working in a small php script , I'm using simple html dom to get some tags for a website, any way this is the code that i'm using

 if( strpos($a, '#') !== false ) 
{
    if( strpos($a, 'page') !== false ){}
        else
        {
            if( strpos($a, '#') !== false ){}
                else{
                    $items[] = $a;
                }
        }
}

I want to delete duplicate string in the array $items.

4

3 回答 3

1

为什么不检查字符串是否已经被添加呢?

if( strpos($a, '#') !== false ) 
{
    if( strpos($a, 'page') !== false ){}
        else
        {
            if( strpos($a, '#') !== false ){}
                else{
                    if(!in_array($a, $items)){
                        $items[] = $a;
                    }
                }
        }
}
于 2013-11-13T17:18:20.707 回答
1

这是来自 php.net ( http://us2.php.net/function.array-unique )的评论

<?php
    $input = array("a" => "green", "red", "b" => "green", "blue", "red");
    $result = array_unique($input);
    print_r($result);
?>

输出:数组( [a] => green [0] => red [1] => blue )

谢谢马克!

于 2013-11-13T17:18:48.407 回答
0

如果由于某种原因(如前所述)您无法检查已添加的项目,您可以查看array_unique()方法。

/edit:这与问题无关,但以防万一您发布的代码段是您的实际代码:您真的不应该使用if( strpos($a, 'page') !== false ){} else ...

只需反转条件并将代码放在if块中:

if (strpos($a, 'page') === false) {
    // your code here
}
于 2013-11-13T17:21:33.600 回答