getSingleCharStrings($strings); $cnt = count($singles); if ($cnt > 1 && $cnt < count($strings)) { // Remove the singles from the input, then prepend them as a new string $strings = array_diff_key($strings, $singles); array_unshift($strings, [array_values($singles)]); } return $strings; } /** * Return an array of every single-char string in given list of strings * * @param array[] $strings * @return array[] */ protected function getSingleCharStrings(array $strings): array { return array_filter($strings, [$this, 'isSingleCharString']); } }