Всем Привет! Помогите пожалуйста, исключить все повторяющиеся зн-ия во вложенном цикле, чтобы, они больше не повтарялись. Единственно, что мне удалось, это исключить одинаковые запросы повторяющиеся в первом цикле и исключать эти запросы во вложенном. Надеюсь, что вы мне поможете..Заранее спасибо
$arr=array();
$url = "http://yandex.ru";
$content = file_get_contents($url);
preg_match_all("|<a[^>]+href=[\"'](.*?)[\"']|im", $content, $regst);
for ($i=0; $i<=count($regst[1]); $i++) {
if (isset($arr[$regst[1][$i]])) $arr[$regst[1][$i]]++;
else
{
$arr[$regst[1][$i]]=1;
echo $regst[1][$i]."<br/>";
@$content1 = file_get_contents($regst[1][$i]);
preg_match_all("|<a[^>]+href=[\"'](.*?)?[\#.]?[\"']|im", $content1, $regst1);
for ($n=0; $n<=count($regst1[1]); $n++)
{
if ($regst[1][$i] == $tregst1[1][$n])
{
//Исключение значений одного цикла в другом
continue;
}
else
echo $tregst1[1][$n];
}
}
}
$regst = array_unique($regst);
Onatolich (14.03.2012/11:33)
$regst = array_unique($regst);
Я кажется пробывал так делать, ошибку выведет..Да и к тому же, мне нужно, чтобы они исключались во вложанном цикле при всех значениях $i(тоесть, всегда)..сейчас проверю, спасибо
Dmitriy12, Дай массив готовый, можно даже скрин
echo '<pre>';
print_r($arr)
Обрывок дампа..оборвал, потому, что слишком большой..
Array
(
[http://help.yandex.ru/start/] => 1
)
Array
(
[http://help.yandex.ru/start/] => 1
[http://tune.yandex.ru] => 1
)
Array
(
[http://help.yandex.ru/start/] => 1
[http://tune.yandex.ru] => 1
[http://www.yandex.ru/?edit=1] => 1
)
Array
(
[http://help.yandex.ru/start/] => 1
[http://tune.yandex.ru] => 1
[http://www.yandex.ru/?edit=1] => 1
[http://widgets.yandex.ru/?from=now] => 1
)
Array
(
[http://help.yandex.ru/start/] => 1
[http://tune.yandex.ru] => 1
[http://www.yandex.ru/?edit=1] => 1
[http://widgets.yandex.ru/?from=now] => 1
[http://www.yandex.ru/themes] => 1
)
Array
(
[http://help.yandex.ru/start/] => 1
[http://tune.yandex.ru] => 1
[http://www.yandex.ru/?edit=1] => 1
[http://widgets.yandex.ru/?from=now] => 1
[http://www.yandex.ru/themes] => 1
[http://tune.yandex.ru/region/?retpath=http%3A%2F%2Fwww.yandex.ru%2F%3Fdomredir%3D1] => 1
)
Array
(
[http://help.yandex.ru/start/] => 1
[http://tune.yandex.ru] => 1
[http://www.yandex.ru/?edit=1] => 1
[http://widgets.yandex.ru/?from=now] => 1
[http://www.yandex.ru/themes] => 1
[http://tune.yandex.ru/region/?retpath=http%3A%2F%2Fwww.yandex.ru%2F%3Fdomredir%3D1] => 1
[/themes/moscow/] => 1
)
Array
(
[http://help.yandex.ru/start/] => 1
[http://tune.yandex.ru] => 1
[http://www.yandex.ru/?edit=1] => 1
[http://widgets.yandex.ru/?from=now] => 1
[http://www.yandex.ru/themes] => 1
[http://tune.yandex.ru/region/?retpath=http%3A%2F%2Fwww.yandex.ru%2F%3Fdomredir%3D1] => 1
[/themes/moscow/] => 1
[http://mail.yandex.ru] => 1
)
Вот код программы, без вложенных циклов:
$arr=array();
$url = "http://yandex.ru";
$content = file_get_contents($url);
preg_match_all("|<a[^>]+href=[\"'](.*?)[\"']|im", $content, $regst);
for ($i=0; $i<=count($regst[1]); $i++) {
if (isset($arr[$regst[1][$i]])) $arr[$regst[1][$i]]++;
else
{
$arr[$regst[1][$i]]=1;
echo '<pre>';
print_r($arr);
}
}
Dmitriy12 (14.03.2012/10:50)
Помогите пожалуйста, исключить все повторяющиеся зн-ия во вложенном цикле
Так значения или ключи? В том дампе, что ты дал, все значения равны 1.
L!MP (14.03.2012/19:14)
Так значения или ключи? В том дампе, что ты дал, все значения равны 1.
Надо, чтобы все значения, больше никогда не повторялись..не в первом цикле, не во вложенных
Dmitriy12, так значения или ключи массива ?
[это_ключ] => это значение
L!MP (14.03.2012/19:20)
Dmitriy12, так значения или ключи массива ?
[это_ключ] => это значение
мне надо, чтобы исключались кдючи с одинаковыми значениями..