Ir para conteúdo

Arquivado

Este tópico foi arquivado e está fechado para novas respostas.

Marcos Geam

Incrementar numero a letra alfabeto ++

Recommended Posts

Galera tenho uma listagem de turmas que fiz que já uso pra outro proposito e queria fazer uma pequena modficação;

Atualmente tenho isto

 

$conta = 29; //Qtd de registro do banco
$j = 'A';

for ($i = 0; $i < $conta; $i++):

if ($conta > 26): //(26 é a qtd de letras que quero limitar no caso as 26 padroes do alfabeto)
echo "Turma: " . $j . '<br />';
endif;
$j++; //Aqui incremento a letra (a, b, c, d...z)
endfor;

 

Com o script acima ele me retorna isto:

Turma: A
Turma: B
Turma: C

.....

Turma: Z //aqui ele para e incrementa uma letra para evitar duplicidade ficando assim:

 

Turma: AA
Turma: AB
Turma: AC

.....

Turma: AZ //e assim por diante até completar a qtd de loops que informei na variavel $conta;

 

enfim queria mudar apenas o seguinte ao invés de incrementar uma letra incrementar um numero qd encerrase o loop das 26 letras pra ficar assim:

 

Turma: A
Turma: B
Turma: C

.....

Turma: Z //aqui ele para e incrementa um NUMERO para evitar duplicidade ficando assim:

 

Turma: A1
Turma: B1
Turma: Z1

......///inicia outro loop

Turma: A2
Turma: B2
Turma: Z2/// e por ai vai

 

alguma dica de como fazer isso? já quebrei minha cabeça e não achei, aparetenteme é simples;

Conto com ajuda de vs~!

 

 

 

 

 

 

 

Compartilhar este post


Link para o post
Compartilhar em outros sites

Basta usar dois laços o primeiro vai rodar os números, o segundo a letras....

Compartilhar este post


Link para o post
Compartilhar em outros sites

Eserra valeu pela dica mas resolvi de uma forma mais limpa ao invés de fazer dois for pensei um pouco e achei esta solução que era exatamente o que precisava:

 

$conta = 29;

$j = 'A';

$x = 0;

$y = 1;

 

for ($i = 0; $i < $conta; $i++):

if($x == 26):

 

$j = 'A'; //reinicia o alfabeto no limite 26

$y += 1; //incrementa +1 a cada novo loop completo

$x = 0; //reinicia o contador do alfabeto 26

 

endif;

 

echo " turma: " . $j . $y;

 

$j++;

$x++;

 

endfor;

 

//retorna:

turma: A1 turma: B1 turma: C1 turma: D1 turma: E1 turma: F1 turma: G1 turma: H1 turma: I1 turma: J1 turma: K1 turma: L1 turma: M1 turma: N1 turma: O1 turma: P1 turma: Q1 turma: R1 turma: S1 turma: T1 turma: U1 turma: V1 turma: W1 turma: X1 turma: Y1 turma: Z1 turma: A2 turma: B2 turma: C2

Compartilhar este post


Link para o post
Compartilhar em outros sites

×

Informação importante

Ao usar o fórum, você concorda com nossos Termos e condições.