Что нужно поправить в моём скрипте, чтобы он искал 3 самых длинных слова в строке?
<?php
$text = 'раз четыре шестьдесят сорок пользователь он автомобиль номер';
$arr = explode(" ", $text);
for ($i=0; $i<count($arr); $i++) {
$max = $arr[0];
if(strlen($arr[$i]) > strlen($max)){
$max = $arr[$i];
}
}
echo $max;
?>
Сейчас он просто выводит слово номер
Вот пример кода, надеюсь ознакомитесь с используемыми функциями и доработаете до желаемого результата.
$text = 'раз четыре шестьдесят сорок пользователь он автомобиль номер';
$arr = array_flip(explode(' ', $text));
// определяем длину
foreach ($arr as $word => $length) {
$arr[$word] = mb_strlen($word);
}
// сортируем
asort($arr);
// последние 3 элемента
$result = array_slice($arr, -3, 3);
P.S.
Для определения длины, к сожалению, всё ещё приходится использовать mbstring
Это предложение
$max = $arr[0];
следует поместить перед циклом. Иначе при каждой итерации каждое следующее слово сравнивается с первым словом.
Например,
$max = $arr[0];
for ($i=1; $i<count($arr); $i++) {
....
Вы на каждую итерацию перезаписываете $max, надо это делать до цикла
<?php
$text = 'раз четыре шестьдесят сорок пользователь он автомобиль номер';
$arr = explode(" ", $text);
$max = $arr[0];
for ($i=0; $i<count($arr); $i++) {
if(strlen($arr[$i]) > strlen($max)){
$max = $arr[$i];
}
}
echo $max;
?>
Айфон мало держит заряд, разбираемся с проблемой вместе с AppLab
Перевод документов на английский язык: Важность и ключевые аспекты
Есть некоторый скрипт который отвечает за то, чтобы взять TEXT из столбика coord по запросу keyС помощью запроса SELECT я получаю эту строку
Доброго времени суток, столкнулся с тупой проблемой, с которой сижу пол дняЕсть php, который возвращает данные в формате json