Вопрос по пхп

С
На сайте с 02.05.2011
Offline
6
457

Здравствуйте, нужен алгоритм сравнения 3 массивов, линейный не подходит никак. Заранее спасибо

LEOnidUKG
На сайте с 25.11.2006
Online
1774
#1

что должно на выходе получиться?

✅ Мой Телеграм канал по SEO, оптимизации сайтов и серверов: https://t.me/leonidukgLIVE ✅ Качественное и рабочее размещение SEO статей СНГ и Бурж: https://getmanylinks.ru/ ✅ Настройка и оптимизация серверов https://getmanyspeed.ru/
С
На сайте с 02.05.2011
Offline
6
#2

На выходе должен получится четвертый массив в котором все значения этих трех, но одинаковые значения сокращаются до одного значения (было 3 одинаковых, стало 1 значение а два лишних удалены) при этом данному оставшемуся значению присваевается в отдельном массиве баллы в зависимости от количества одинаковых значений и в каком именно массиве они были найдены, все это при условии что в каждом отдельном массиве значения не повторяются, вот пишу все это и в голове постепенно образуется схемка но не доконца сейчас у меня ночь и посиму я туплю:)

H
На сайте с 13.06.2011
Offline
9
#3

а array_merge(array array1, array array2 [, array ...]) не?

Слово не воробей. Все не воробей, кроме воробья!
С
На сайте с 02.05.2011
Offline
6
#4

Не подойдет array_merge, при слиянии значений нужно чтобы в другой массив записывалось оппределенное количество балов в зависимости от массива где найдены совпадения и от того сколько их 1 или 2 совпадения

H
На сайте с 13.06.2011
Offline
9
#5

ух, еще и считать сколько одинаковых) я бы предложил взять исходник array_merge и внести в него свои изменения

С
На сайте с 02.05.2011
Offline
6
#6

Да думаю можно переработать спасибо

CD
На сайте с 21.10.2004
Offline
82
#7

Ну если я правильно понял, примерно вот так:

<?php


$res = array();

foreach ($arr1 as $val)
{
if (!in_array($val, $res))
{
$res['val'][] = $val;
$res['count'][] = 1;
$res['source'][] = 'arr1';
}
else
{
$key = array_search($val, $arr1);
$res['count'][$key]++;
}
}

?>

Не тестил на корректность синтаксиса, писал прямо в форму ответа. И не даю 100% гарантии работоспособности, т.к. вискарь, т.к. пятница. :D

ЗЫ: разумеется, код лучше оформить функцией и вызывать для все массивов.

ЗЗЫ: //и в каком именно массиве они были найдены, все это при условии что в каждом отдельном массиве значения не повторяются// - $res['source'] будет содержать только первый массив, где встретилось значение, так что если что, надо дополнить else...

Отличная конвертация женского трафика. (http://tinyurl.com/394ayz3) Второй месяц - в подарок! Core2Duo E6600 2x2.4ГГц / 4ГБ / 2x250ГБ => $68/мес. (http://tinyurl.com/E6600)
С
На сайте с 02.05.2011
Offline
6
#8

Ладно все это потом потестю а то смотрю в монитор вижу буквы но в слова они не сходятся🤪

Всем большое спасибо

Авторизуйтесь или зарегистрируйтесь, чтобы оставить комментарий