我已经比较了一个矩阵的数据,我已经统计了一个数组的数据,但是我从来没有数过,数组之间重复的按键序列是什么,我想在所有序列之间进行比较,并查找out这个部分的最大尺寸重复..我有数百个数字,我应该在它们之间进行比较,找出它们之间最大的重复延伸,一个序列中存在的最大重复尺寸,另一个存在于另一个大阵列的序列!如何比较大数组中的关键序列,找出最大数量的重复序列?
查找重复的单个元素可以简单地用in_array()完成。 array_keys()同样可以轻松地从不同数组中重复键。由于我们关注的是序列,而不是单一的值,所以它们对我们都没有帮助。
<?php
header('Content-Type: text/html; charset=utf-8');
echo 'test - This is just for us to figure out, what is the size of the greatest duplication of stretches between the previous sequences'.'<br>';
$previous_results_manually_inserted = array(
array('12','21','34','1','51','87','42','49','37','119','101','7','111','17','11','19','2','15','6'),
array('3','5','1','18','61','75','92','84','36','81','2','07','90','2','71','17','08','51','37'),
array('81',75','92','84','36','81','2','07','90','2','17','65','44','73','27','30','41','74','88'),
);
foreach ($previous_results_manually_inserted as $previous) {
$match = preg_match("/.*$test.*/", $previous);
}
echo 'The largest repeated slice between these sequences is:';
echo implode(', ', $match), "<br>\n"
输出:75' , '92', '84', '36', '81', '2', '07', '90', '2'
注:最终客观:最高的重复性是9个数字。 (在这个例子中)
谢谢大家。
你想找到'$ previous_results_manually_inserted =阵列( 阵列复制('12' , '21', '34', '1', '51','87 ”,'42' , '49', '37', '119', '101', '7', '111', '17', '11', '19', '2', '15', '''','3','5','1','18','61','75','92','84','36','81','2' '','07','90','2','71','17','08','51','37'), 阵列('81',75','92',' 84' , '36', '81', '2', '07', '90', '2', '17', '65', '44', '73', '27', '30' ,'41','74','88'), );' –
'$ test'中包含了什么? 'preg_match'返回一个布尔值,对它应用'implode'是无稽之谈。 '$ match'在每次循环迭代中重新初始化。 – Toto