Tôi có một mảng:Tìm lặp đi lặp lại hầu hết các tiểu chuỗi trong mảng
$myArray=array(
'hello my name is richard',
'hello my name is paul',
'hello my name is simon',
'hello it doesn\'t matter what my name is'
);
tôi cần phải tìm ra chuỗi phụ (tối thiểu 2 từ) được lặp đi lặp lại thường xuyên nhất, có lẽ trong một định dạng mảng, vì vậy tôi trở lại mảng có thể trông giống như sau:
$return=array(
array('hello my', 3),
array('hello my name', 3),
array('hello my name is', 3),
array('my name', 4),
array('my name is', 4),
array('name is', 4),
);
Vì vậy, tôi có thể thấy từ mảng này tần suất mỗi chuỗi được lặp lại trong tất cả các chuỗi trong mảng.
là cách duy nhất để làm điều đó như thế này? ..
function repeatedSubStrings($array){
foreach($array as $string){
$phrases=//Split each string into maximum number of sub strings
foreach($phrases as $phrase){
//Then count the $phrases that are in the strings
}
}
}
Tôi đã thử một giải pháp tương tự như trên nhưng nó là quá chậm, xử lý khoảng 1000 hàng mỗi thứ hai, bất cứ ai có thể làm điều đó nhanh hơn?
Nhắc tôi giảm bản đồ. – Layke
bạn chỉ cần chuỗi con lặp lại thường xuyên nhất? hoặc bạn có cần đếm cho mọi chuỗi con có thể không? đây là hai câu hỏi rất khác nhau. –
@ BenLee: Tôi thực sự chỉ cần chuỗi con lặp lại thường xuyên nhất, nhưng nếu có thể thì tôi muốn biết cái nào tiếp theo. – Drahcir