Какой алгоритм оптимальнее?
Без проверок(на кол. символов и т.д.):$str = "я люблю тостер, каждый день отвечаю и задаю вопросы здесь";
$words = explode(' ', $str);
$num = 2; //кол. слов
$first_line = implode(' ', array_slice($words, 0, $num));
$second_line = implode(' ', array_slice($words, $num));

var_dump($first_line, $second_line);
честно не понял что вы хотите оценить, какую оптимальность.
у алгоритмов есть разные метрики (оценочные харрактеристики)
например время работы, или потребление памяти, либо там размер кода.
сначало определите, какой из этих оценочных параметров вы хотите оптимизировать -> потом уже можно сказать какой из возможных вариантов оптимальнее.
если исходить из производительности, в времени исполнения (которое как правило оценивается по количеству операций) . то оба этих алгоритма абсолютно эквивалентны.
подробнее тут https://ru.wikipedia.org/wiki/Вычислительная_сложность