Фактически я работаю в небольшом php-скрипте, я использую простой html dom для получения некоторых тегов для веб-сайта, так или иначе это код, который я использую
if( strpos($a, '#') !== false ) { if( strpos($a, 'page') !== false ){} else { if( strpos($a, '#') !== false ){} else{ $items[] = $a; } } }
Я хочу удалить повторяющуюся строку в массиве $items
.
Почему бы просто не проверить, добавлена ли строка?
if( strpos($a, '#') !== false ) { if( strpos($a, 'page') !== false ){} else { if( strpos($a, '#') !== false ){} else{ if(!in_array($a, $items)){ $items[] = $a; } } } }
Это из комментария 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] => зеленый [0] => красный [1] => синий)
Спасибо, Марк!
Если вы не можете проверять уже добавленные элементы по какой-либо причине (как было предложено ранее), вы можете взглянуть на метод array_unique () .
/ edit: Это не связано с вопросом, но на всякий случай, что вы опубликовали фрагмент вашего фактического кода: вы действительно не должны использовать if( strpos($a, 'page') !== false ){} else ...
Просто инвертируйте условие и поместите код в блок if
:
if (strpos($a, 'page') === false) { // your code here }