Listar itens em um paragrafo com php [pedido suporte]
Olá!
Estou precisando colocar uma lista de nomes em um para grafo do tipo:
... composto por: Ngoma Fortuna, Douglas Silvestrini, Hugo Kotsubo.
, Douglas Silvestrini, Hugo Kotsubo.
são só uns individuos interessantes que achei aqui no tabnews 🤩️.
A linguagem em uso é PHP, crie uma solução (a baixo), mas gostaria de um contributo para melhora-lo e principalmente gostava de ajuda com a inclusão de funções nativas da linguagem.
O desafio é colocar os nomes em linha um após o outro, separados por "vírgula" e na final colocar "ponto".
Ah os nomes são dados em formato de objecto ou array.
<?php
# dados:
$children = (object) [
'son5' => 'Celma',
'son4' => 'Zany',
'son3' => 'Albertina',
'son2' => 'Lucrêcia'
];
# ou:
$son = [
'son' => 'Hermenegildo'
];
# Minha solução:
function listInLine($list): string {
if(!is_array($list)) $list = (array)$list;
$line = ''; $counter = 0;
foreach($list as $item) {
if(count($list) <= 1) return "{$item}.";
$line .= ($counter < count($list) - 1)? "{$item}, ": "{$item}.";
$counter++;
}
return $line;
}
Exemplo de uso:
<p>... composto por <?= listInLine($children) ?></p>
<p>... composto por <?= listInLine($son) ?></p>
Resultado:
<p>... composto por Celma, Zany, Albertina, Lucrêcia.</p>
<p>... composto por Hermenegildo.</p>
Abraços...