Ir para conteúdo
Fórum Script Brasil
  • 0

Tem Como?


Rafael_tst

Pergunta

Olá galera, sou iniciante em php, to fazendo um script que é mais ou menos assim:

recebo 30 campos.

que é mais ou menos assim:

$campo1 = " 14|texto|texto2|texto3|...|texto30";

$campo2 = " 21|texto|texto2|texto3|...|texto30";

até o campo 30.

Depois eu dou "explode" de modo que cada campo fique assim:

$campo1[1]="14";

$campo2[1]="21";

...

depois eu faço assim:

$teste="14";

if($campo1[1]==$teste){

comandos}

if($campo2[1]==$teste){

comandos}

if($campo3[1]==$teste){

comandos}

E desta forma vou testando todos os trinta campos, só que depois de testar os trinta campos com o valor de $teste=14, eu tenho que testar , da mesma forma só que com o valor de $teste=21;Ex:

$teste="21"

if($campo1[1]==$teste){

comandos}

if($campo2[1]==$teste){

comandos}

if($campo3[1]==$teste){

comandos}

A questão é que eu tenho que realizar o teste com os valores de 14,21,23,24,29,31,36,18,50, são mais de 10 testes e o script ta ficando com quase 2.500 linhas, Ta funcionando , só que deve haver uma maneira de fazer isso com o while ou com for, eu ainda não sei usar essas funções, alguém por favor poderia me ajudar???

desde já agradeço a atenção de todos.

Link para o comentário
Compartilhar em outros sites

6 respostass a esta questão

Posts Recomendados

  • 0

Não são funções, cara, são estruturas de comando e se comportam da mesma forma em qualquer linguagem.

São elementos da lógica de programação e fica realmente difícil você programar sem saber o que eles fazem.

Dê uma lida em:

· http://br.php.net/control-structures.while

· http://br.php.net/control-structures.for

Link para o comentário
Compartilhar em outros sites

  • 0

\Beleza galera, eu ralei um pouco mais consegui fazer, usei o "for()", agora o script que tava com quase 2.500 linhas está com apenas 278.

Kurole eu recebo este campo de um servidor externo, esse campo é pode vir com uma quantidade diferente, ele vem mais ou menos assim:

$campo = ###{{{-[|texto1|texto2|texto3|...|texto35]-}}}###;

Ai eu tiro os ( #,{,-,);

e dou explode ("|");

sendo que $campo vira um array com hora 30 valores, hora 45 hora 100.

Como o meu script tem que testar todos os campos, to usando:

for(_) e count(_);

agora ta beleza!

Valeu pela ajuda Kulore e Error404.

Link para o comentário
Compartilhar em outros sites

  • 0

dpois q você explodir tudo num $arr você pode dar:

foreach ($arr as $key)

ou

foreach($arr as $key => $val)

O foreach percorre todo o vetor não importa o tamanho. é só uma alternativa ao uso do for com count.... eu acho que fica mais elegante, mas não é nem mió nem pió =)

abraço. ( se quiser exemplos visite o manual: httP://www.php.net/foreach )

Link para o comentário
Compartilhar em outros sites

Participe da discussão

Você pode postar agora e se registrar depois. Se você já tem uma conta, acesse agora para postar com sua conta.

Visitante
Responder esta pergunta...

×   Você colou conteúdo com formatação.   Remover formatação

  Apenas 75 emoticons são permitidos.

×   Seu link foi incorporado automaticamente.   Exibir como um link em vez disso

×   Seu conteúdo anterior foi restaurado.   Limpar Editor

×   Você não pode colar imagens diretamente. Carregar ou inserir imagens do URL.



  • Estatísticas dos Fóruns

    • Tópicos
      152,1k
    • Posts
      651,8k
×
×
  • Criar Novo...