Fórum Ajuda com problema de Lógica - PHP #604950
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!";
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
Curtir tópico
+ 0
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
Responder
Gostei + 1
Mais Posts
05/10/2019
Kervi Jhonata
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!
Responder
Gostei + 0
Clique aqui para fazer login e interagir na Comunidade :)