2013-11-13 2 views
0

На самом деле им работать в небольшой PHP скрипт, я использую простой HTML DOM, чтобы получить некоторые теги для веб-сайта, любой способ это код, который я используюУдалить дубликат строки в массиве

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

Я хочу удалить повторяющуюся строку в массиве $items.

+0

И где вы столкнулись с проблемой? – Jasper

ответ

1

Почему бы просто не проверить, добавлена ​​ли строка?

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

В каком месте я могу добавить этот код? – checkopenport

+0

Обновлен код. Просто поместите это в свое последнее заявление. –

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); 
?> 

Выход: Массив ( [а] => зеленый [0] => красный [1] => синий )

Thanks Mark!

+0

Да, это лучший подход - см. Изменения выше –

0

Если вы не можете проверить уже добавленные товары по какой-либо причине (как было предложено ранее), вы можете взглянуть на метод array_unique().

/редактирование: Это не имеет никакого отношения к вопросу, но только в том случае, когда сниппет вы вывесили ваш фактический код: вы должны действительно не использовать if(strpos($a, 'page') !== false){} else ...

Просто инвертировать состояние и поместить код в if блок:

if (strpos($a, 'page') === false) { 
    // your code here 
} 
Смежные вопросы