Ajuda com problema de Lógica - PHP

27/08/2019

0

Galera, então, estou à poucos dias desenvolvendo um pequeno sistema para realizar cálculos em HTML5/PHP. Me deparei com a situação de precisar receber um valor numérico ou textual, que funcione da seguinte forma:

Uma sequência de números é escrita para ser interpretada, ex: 111223211332.

Preciso de uma função que separe e retorne grupos de números dessa variável, ex 2: 111, 22, 3, 2, 11, 33, 2.


Pra ser bem exato, meu sistema funciona assim:

Eu insiro um valor X (usei o 7), então ele escreve essa entrada, logo em seguida, ele conta a quantidade de caracteres e escreve na próxima linha:
1. 7(valor)
2. 1(qtd de números agrupados ou isolados do valor)7(valor anterior) *agora, sendo esta linha o novo valor da variável*
3. 1117
4. 3117 ( lê-se: três números 1 encontrados agrupados no valor anterior, um número 7 agrupado no valor anterior).

Se alguém puder me servir uma ajuda, estarei grato em recebê-la!";
Kervi Jhonata

Kervi Jhonata

Responder

Post mais votado

13/09/2019

Olá Kervi, montei um exemplo, acho que pode te ajudar no que precisa.

<?php
$sequencia = "111223211332";
$sep = str_split($sequencia);
$total = count($sep);
$sequencia_separada = "";
$separador = " ";
for($c=0; $c<$total; $c++){
    if($c == 0){
        $sequencia_separada = $sep[$c];
    }else{
        if($sep[$c] == $sep[$c-1]){
            $sequencia_separada .= $sep[$c];
        }else{
            $sequencia_separada .= $separador.$sep[$c];
        }
    }
}
echo $sequencia_separada;
?>

Joel

Joel
Responder

Mais Posts

05/10/2019

Kervi Jhonata

Olá Kervi, montei um exemplo, acho que pode te ajudar no que precisa.

<?php
$sequencia = "111223211332";
$sep = str_split($sequencia);
$total = count($sep);
$sequencia_separada = "";
$separador = " ";
for($c=0; $c<$total; $c++){
    if($c == 0){
        $sequencia_separada = $sep[$c];
    }else{
        if($sep[$c] == $sep[$c-1]){
            $sequencia_separada .= $sep[$c];
        }else{
            $sequencia_separada .= $separador.$sep[$c];
        }
    }
}
echo $sequencia_separada;
?>


perfeito, exatamente como precisava! Obrigado, certamente vai ajudar na compreensão do algoritmo!
Responder

Utilizamos cookies para fornecer uma melhor experiência para nossos usuários, consulte nossa política de privacidade.

Aceitar