1

Тема: Логическая цепочка !!!

Люди , помогите разобратся , ничего не получается , а именно , есть два массива , нужно опредилить какие элементы идентичны , а какие нет , короче говоря , если елемент 1 из массива 1 отсутствует во всем  массиве 2 , значит идет одна ветка программы , в противном случае другая . все вроде-бы очень просто !!!

<?
$zek=0;
for ($co=1; $co<count($text);$co++)
{
 if ($zek=count($baza1))
     {
     print "$zek>>>>А этих элементов нет в списке"."-------".$text[$co]."<br>";
        $zek=0;
     }
for ($co1=1; $co1<count($baza1);$co1++)
{
 similar_text($text[$co], $baza1[$co1], &$tmp);
        if ($tmp > 90) {
         $zek=0;
print "$zek>>>Найдено совпадений "."=======".$text[$co].">>>--->>".$baza1[$co1]."<br>";
         
            }
     else
     {
     $zek++;
     }
     }
    
     }

?>

2

Re: Логическая цепочка !!!

Ничего не понял. Выражайтесь точнее, указывайте имена массивов для сравнения и условия, которые должны выполняться в том или другом случае. И еще, оформляйте текст аккуратнее, его же прочесть нельзя.

То, как я понял задачу.

<?php

for ($co = 1; $co < count($text); $co++) {

    if (in_array($text[$co], $baza1) {
        print "$zek>>>Найдено совпадений " . "=======" . $text[$co] . ">>>--->>" . $baza1[$co] . "<br>";
    } else {
        print "$zek>>>>А этих элементов нет в списке" . "-------" . $text[$co] . "<br>";
    }

}

?>

3 (изменено: dima2207, 2007-03-19 16:37:00)

Re: Логическая цепочка !!!

Ну вы в общем-то правельно поняли , но мне нужно что-бы надпись " а этих элементов нет в массиве " выводилась в том случае если в массиве baza1 Не найдено ни одно совпадение  с массиом $text !!! т.е так -берем 1 элеммент из масива $text И сравнивам его со всеми элементами масива baza1 и в случае не найденом , выводим надпись !!!
и так в цыкле , до тех пор пока массив $text не опустеет , т.е пока не проверятся все элементы !!!
а у меня повторяются совпавшие с несопавшими элементы !!!
вот скриншот:
13340>>>>А этих элементов нет в списке-------12 Stones - Broken
0>>>Найдено совпадений =======12 Stones - Broken>>>--->>12 Stones-Broken
13340>>>>А этих элементов нет в списке-------12 Stones - Running Out Of Pain
13340>>>>А этих элементов нет в списке-------140 ударов в минуту - Ой-Ой-Ой
0>>>Найдено совпадений =======140 ударов в минуту - Ой-Ой-Ой>>>--->>140 ударов в минуту-Ой-Ой-Ой

вот что мне надо  : берем первый элемент из массива
$text  и сравниваем его со всеми элементами масива $baza1 в случае совпадения , выводим надпись , а в случае не совпадения $zek++; На выходе из цыкла проверяем , равно ли $zek count($baza1), и если да , то выводим надпись " элемент отсутсвует в массиве " , обнуляем $zek , и повторяем цыкл до count($text) !!!
вродебы все правельно , а все равно не хочет работать так как надо !!! Почему ???

4

Re: Логическая цепочка !!!

<?php

$is_true = false;
for ($co = 1; $co < count($text); $co++) {

    if (in_array($text[$co], $baza1)) {
        print ">>>Найдено совпадений " . "=======" . $text[$co] . ">>>--->>" . $baza1[$co] . "<br>";
        if (!$is_true) $is_true = true;
    }

}

if (!$is_true) {
    print ">>>>А этих элементов нет в списке-------<br>";
}

?>

5

Re: Логическая цепочка !!!

Спасибо !!!