Ajuda com problema de Lógica - PHP
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!";
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
Curtidas 0
Melhor post
Joel
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; ?>
GOSTEI 1
Mais Respostas
Kervi Jhonata
27/08/2019
Olá Kervi, montei um exemplo, acho que pode te ajudar no que precisa.
perfeito, exatamente como precisava! Obrigado, certamente vai ajudar na compreensão do algoritmo!
<?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!
GOSTEI 0