0 / 0 / 1
Регистрация: 30.09.2013
Сообщений: 8
1

Сравнение массивов с выставлением оценки схожести

30.09.2013, 12:14. Показов 1457. Ответов 8
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
Пожалуйста, помогите! Есть два массива. Первый:$k1=>$v1. Второй:$k2=>$v2. Нужно, чтоб если $k1==$v2, к переменной $tm добавлялось значение $v1. От количество элементов не должно зависить.
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
30.09.2013, 12:14
Ответы с готовыми решениями:

Сравнение массивов
Всем привет. Имею: 1. $array_1(=>Худой=>Нормальный=>Толстый); 2.$array_2 (=>0=>1); 3.$num =...

Сравнение 2х массивов
Всем привет, возникла проблема при сравнение 2х массивов, при чем разница не только в значениях, но...

Сравнение массивов
Есть два массива. первый содержит данные. $data_array = Array ( => Array ( ...

Сравнение массивов
У меня есть 2 массива, которые берут данные с базы данных MySQL. В обоих массивах есть одинаковые...

8
25 / 25 / 5
Регистрация: 25.03.2013
Сообщений: 105
30.09.2013, 12:23 2
Если от количество элементов не должно зависить делайте while
Или for($i=0;$i<count($array);$i++)
1
0 / 0 / 1
Регистрация: 30.09.2013
Сообщений: 8
30.09.2013, 12:25  [ТС] 3
Можно целый код? Пол-суботы угробил на этот foreach!
0
25 / 25 / 5
Регистрация: 25.03.2013
Сообщений: 105
30.09.2013, 12:27 4
Покажите ваши наработки, попробуем поправить
0
0 / 0 / 1
Регистрация: 30.09.2013
Сообщений: 8
30.09.2013, 13:04  [ТС] 5
PHP
1
2
3
4
5
6
7
8
9
10
foreach($f as $k1=$v1)
{ 
 foreach($s as $k2=$v2)
  {
    if ($k1==$v2)
     {
        $tm=$tm+$v1;
     }
  }
}
0
25 / 25 / 5
Регистрация: 25.03.2013
Сообщений: 105
30.09.2013, 13:17 6
PHP
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
$tm=0;
$f=Array(1,2,3,4,5);
$s=Array(1,2,3,4,5);
foreach($f as $k1=> $v1)
{
    foreach($s as $k2=>$v2)
  {   
      if ($k1==$v2)
      {
          $tm+=$v1;
      }
echo $k1," ",$v2," ",$tm,"<br>";
  }
}
echo "Final result<br>";
echo $tm;
Вы чуть чуть ошиблись в синтаксисе foreach
foreach (array_expression as $key => $value)
0
0 / 0 / 1
Регистрация: 30.09.2013
Сообщений: 8
30.09.2013, 13:43  [ТС] 7
Спасибо, но оно дает не правильный результат.
$f=("2+2=4"=>"6", "3+3=6"=>"6")
$s=("1"=>"2+2=3","2"=>"3+3=6")
Оно должно дать 6, так-как первые элементы не совпадают, а а вторые совпадают. И за второй дается 6 баллов, что указанно в его значении.
0
25 / 25 / 5
Регистрация: 25.03.2013
Сообщений: 105
30.09.2013, 13:55 8
PHP
1
2
$f=array("2+2=4"=>"6", "3+3=6"=>"6");
$s=array("1"=>"2+2=3","2"=>"3+3=6");
2+2=4 2+2=3 0 //совпадения нету "2+2=4" != "2+2=3"
2+2=4 3+3=6 0 //совпадения нету "2+2=4" != "3+3=6"
3+3=6 2+2=3 0//совпадения нету "3+3=6" != "2+2=3"
3+3=6 3+3=6 6//совпадения "3+3=6" == "3+3=6" Значением $v1=6; его и прибавляет
Final result
6
Полный код
Кликните здесь для просмотра всего текста
PHP
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
$tm=0;
$f=array("2+2=4"=>"6", "3+3=6"=>"6");
$s=array("1"=>"2+2=3","2"=>"3+3=6");
foreach($f as $k1=> $v1)
{
    foreach($s as $k2=>$v2)
  {
      if ($k1==$v2)
      {
          $tm+=$v1;
      }
      echo $k1," ",$v2," ",$tm,"<br>";
  }
}
echo "Final result<br>";
echo $tm;


Собственно мы и получили 6
1
0 / 0 / 1
Регистрация: 30.09.2013
Сообщений: 8
30.09.2013, 14:14  [ТС] 9
Спасибо! Тестировал на каком-то онлайн-сервисе, там кидало 0.
0
30.09.2013, 14:14
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
30.09.2013, 14:14
Помогаю со студенческими работами здесь

Сравнение массивов: найти максимальное перебором массивов
Добрый вечер такая проблема даны два одномерных массива A, B причем в каждом массиве записанно...

Реализуйте таймер с сигналом и выставлением времени
Здравствуйте , помогите добавить окошко для выставления времени и звук по окончанию работы таймера...

Сравнение массивов
Имеем 2-а массива (&quot;Примерный Лист #1&quot; и &quot;Примерный Лист #2&quot;). Каждый из массивов имеет одинаковые...

Сравнение массивов
Здравствуйте, помогите пожалуйста с кодом. Делаю программу которая после ввода mkfile должна...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
9
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2024, CyberForum.ru