DarkLan пишет:То, что вы написали - можно сделать меньшим кодом
Возможно, я и не претендую на мистера "Компактный код", пишу как умею на данный момент, и разумеется, пытаюсь самосовершенствоваться
DarkLan пишет:У вас суть поиска по константе. В первом случаем - это ТЕКСТ, другой - 20.
Абсолютно верно.
DarkLan пишет:Суть вопроса не в том, что бы найти что-то в строке или массиве, а в том, что бы найти совпадения в строке
Ну, вы ведь в первом посту не так подробно описали суть задачи, поэтому и был предложен такой вариант.
DarkLan пишет:по какому-то регулярному выражению искать не получится (у меня нет идей, как по регулярке это можно реализовать)
Значит вы плохо разбираетесь в механизме регулярных выражений, т.к. у меня есть идеи их использования в вашей задаче
DarkLan пишет:Прошу пишите свои идеи, код не так важен, как понять суть реализации этого.
Есть хорошее выражение, процитирую: "Болтовня ничего не стоит - покажите мне код". Я не буду описывать алгоритм решения, вы его и сами прекрасно сможете прочитать из моего кода. В этом его варианте поиск совпадений не привязан к константным значениям
PHP:
скопировать код в буфер обмена
<?PHP
function findMatch($text) {
$result = '<table><tr><th>Значения'.
'</th><th>Повторы</th></tr>';
foreach ($values as $val => $sum) {
if ($sum > 1) {
$result .= '<tr><td>'. $val .'</td><td>'. $sum .'</td></tr>';
$bool = true;
}
}
$result .= '</table>';
return (isset($bool) ?
$result : false); }
$str = 'Текст, ещё текст, и ещё текст, и какое-то число, например 7 '.
'10 20 30 40 50 20 100 200';
echo findMatch($str);
/*
Значения Повторы
текст 3
ещё 2
и 2
20 2
*/