Привет! Есть 2 массива со строками - подскажите как лучше получить значения которые будут свтречаться в обоих массивайх??
Привет!
Можно сделать например так:
TFREADARR("Массив.txt", $arr) // создаем массив из 1000 строк, по 10 символов в строке
$str = ""
FOR($n = 0, $n < ARRSIZE($arr))
$str = STRCONCAT($str, ":", $arr[$n]) // склеиваем элементы одного из массивов в строку
END_CYC
// Для примера будем сравнивать массив сам с собой. Должно получиться 100% совпадений элементов.
FOR($n = 0, $n < ARRSIZE($arr))
IF(STRPOS($str, $arr[$n])) // ищем текст элементов массива в строке
ARRPUSH($arr2, $arr[$n]) // найденные совпадения запоминаем
END_IF
END_CYC
TFWRITEARR("Дубликаты.txt", $arr2) // выводим результат в файл
UNDEFINE($arr) // удаляем ненужные массивы из памяти
UNDEFINE($arr2)
HALT
Файл "Массив.txt" во вложении.
Если массивы большие и скорости работы такого алгоритма не достаточно, то можно попробовать использовать ini-файлы, примеры на форуме есть.
Вот тут замечательный пример -
http://crapware.aidf.org/forum/index.php?topic=4033.msg27491#msg27491Правда придется допилить под свою задачу, но принцип тот же - а-ля ассоциативный массив.