Задача: на вход получаем строку, состоящую из нескольких слов. разделенных пробелом.
Например: "я люблю тостер, каждый день отвечаю и задаю вопросы здесь"
Нужно написать функцию, которая будет разрезать введенную строку на 2 строки, в зависимости от заданного количества слов.
//Обрезает заголовок на основной и под, разделяя по пробелам
function cut_title($thistitle,$count){ //заголовок и количество слов на которые стоит обрезать
$post_title = explode(" ", $thistitle);
$post_title_title = "";
$i = 0;
while($i < $count){
$post_title_title .= $post_title[$i]." ";
$i++;
}
$ctitle['title'] = $post_title_title;
$ctitle['sub'] = str_replace($post_title_title, "", $thistitle);
return $ctitle; //возвращает массив $ctitle['title'] и $ctitle['sub']
}
Вопрос в том, как лучше построить цикл? Как есть или:
while($i++ < $count){
$post_title_title .= $post_title[$i]." ";
}
Или через for?
Интересует с точки зрения оптимальности, читаемости и неговнокодерства.
Заранее благодарен за подробный и развернутый ответ!