Форум: Форум PHPФорум ApacheФорум Регулярные ВыраженияФорум MySQLHTML+CSS+JavaScriptФорум FlashРазное
Новые темы: 0000000
Программирование. Ступени успешной карьеры. Авторы: Кузнецов М.В., Симдянов И.В. MySQL на примерах. Авторы: Кузнецов М.В., Симдянов И.В. PHP. Практика создания Web-сайтов (второе издание). Авторы: Кузнецов М.В., Симдянов И.В. PHP на примерах (2 издание). Авторы: Кузнецов М.В., Симдянов И.В. Объектно-ориентированное программирование на PHP. Авторы: Кузнецов М.В., Симдянов И.В.
ВСЕ НАШИ КНИГИ
Консультационный центр SoftTime

Форум PHP

Выбрать другой форум

 

Здравствуйте, Посетитель!

вид форума:
Линейный форум Структурный форум

тема: Логическая цепочка !!!
 
 автор: dima2207   (19.03.2007 в 08:48)   письмо автору
 
 

Люди , помогите разобратся , ничего не получается , а именно , есть два массива , нужно опредилить какие элементы идентичны , а какие нет , короче говоря , если елемент 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++;
     }
     }
    
     }

?>

   
 
 автор: Sl   (19.03.2007 в 09:22)   письмо автору
 
   для: dima2207   (19.03.2007 в 08:48)
 

Может быть как-то так ...

<?
$m1 
= array(/*данные*/);
$m2 = array(/*данные*/);
foreach(
$m1 as $k1 => $v1) {
  foreach(
$m2 as $k2 => $v2) {
    if(
$v1 === $v2) echo "$v1 = $v2<br/>";
  }
}
?>

   
 
 автор: dima2207   (19.03.2007 в 15:32)   письмо автору
 
   для: Sl   (19.03.2007 в 09:22)
 

да нет эти функции мне не подойдут , во первых мне нужно не 100% совпадение искать , а во вторых мне важно знать где , на какой позиции в масиве произошло совпадение !
мне нужно что-бы надпись " а этих элементов нет в массиве " выводилась в том случае если в массиве baza1 Не найдено ни одно совпадение с массиом $text !!! т.е так -берем 1 элеммент из масива $text И сравнивам его со всеми элементами масива baza1 и в случае не найденом , выводим надпись !!!
и так в цыкле , до тех пор , пока массив $text Не опустеет !

   
 
 автор: dima2207   (19.03.2007 в 16:06)   письмо автору
 
   для: dima2207   (19.03.2007 в 15:32)
 

а у меня повторяются совпавшие с несопавшими элементы !!!
вот скриншот:
13340>>>>А этих элементов нет в списке-------12 Stones - Broken
0>>>Найдено совпадений =======12 Stones - Broken>>>--->>12 Stones-Broken
13340>>>>А этих элементов нет в списке-------12 Stones - Running Out Of Pain
13340>>>>А этих элементов нет в списке-------140 ударов в минуту - Ой-Ой-Ой
0>>>Найдено совпадений =======140 ударов в минуту - Ой-Ой-Ой>>>--->>140 ударов в минуту-Ой-Ой-Ой

   
 
 автор: dima2207   (19.03.2007 в 16:33)   письмо автору
 
   для: dima2207   (19.03.2007 в 16:06)
 

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

   
 
 автор: bronenos   (19.03.2007 в 16:51)   письмо автору
 
   для: dima2207   (19.03.2007 в 16:33)
 

ksort ($mas1);
ksort ($mas2);
if ($mas1 == $mas2)

   
 
 автор: mihdan   (19.03.2007 в 17:14)   письмо автору
 
   для: dima2207   (19.03.2007 в 08:48)
 

in_array();

   
 
 автор: dima2207   (19.03.2007 в 17:39)   письмо автору
 
   для: mihdan   (19.03.2007 в 17:14)
 

>да нет эти функции мне не подойдут , во первых мне нужно не 100% совпадение искать , а во вторых мне важно знать где , на какой позиции в масиве произошло совпадение ! <

Как мне это реализовать ???

   
 
 автор: dim0s   (19.03.2007 в 23:29)   письмо автору
 
   для: dima2207   (19.03.2007 в 17:39)
 


<?php
$arr1
=array(1,2,5,6,7,8,9);
$arr2=array(1,6,8,12,77,44,45,234);
$y=0;
for (
$i=0$i<count($arr1); $i++)
{
 if(
in_array($arr1[$i],$arr2))
 {
  echo 
"<b>".$arr1[$i]."</b> ------->найдено  совпадение<br>";
  
$y++;
 }
}
if(
$y==0)
  {
   echo 
"не найдено<br>";
  }
else
 {
  echo 
"найдено совпадений -- ".$y."<br>";
 }
?>


   
 
 автор: Disable   (20.03.2007 в 00:41)   письмо автору
 
   для: dim0s   (19.03.2007 в 23:29)
 


$arr1=array(1,2,5,6,7,8,9);
$arr2=array(1,6,8,12,77,44,45,234);
$int=array_intersect($arr1,$arr2);
print_r($int);

   
Rambler's Top100
вверх

Rambler's Top100 Яндекс.Метрика Яндекс цитирования