Ir para conteúdo

POWERED BY:

Arquivado

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

Joelson Aguillera

Problemas com Array, If, e Else

Recommended Posts

Ola, comecei a pouco tempo a estudar PHP e me interesse muito mas ja estou tendo problemas.

No codigo abaixo fiz uma matriz (array) e quero que ela verifique se o nome é verdadeiro mas a unica coisa que imprime no navegador é o ELSE (Não é o Joelson) sendo que deveria imprimir o IF.

 

<?php

$matriz_eddye = array (

0=>" Joelson ",

1=>" Victor ",

2=>" Vanessa ",

3=>" Sara ",

4=>" Rosiane ",

5=>" Priscila ",

6=>" Eddye ",

7=>" Ildone ",

8=>" Talita "

);

foreach ($matriz_eddye as $eddye)

 

if ($eddye == "Joelson"){

echo "É o Joelson";

} else {

echo "Não é o Joelson";

}

?>

 

Sabem o que esta acontencedo? Eu nao acho erro nenhum.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Não podes passar todos os valores a uma só variável e depois fazer a comparação com apenas um IF...

 

PHP
<?php

$matriz_eddye = array (

0=>" Joelson ",

1=>" Victor ",

2=>" Vanessa ",

3=>" Sara ",

4=>" Rosiane ",

5=>" Priscila ",

6=>" Eddye ",

7=>" Ildone ",

8=>" Talita "

);

 

if ($matriz_eddye[0] == "Joelson"){

echo "É o Joelson";

} else {

echo "Não é o Joelson";

}

?>

 

Pronto ;)

Compartilhar este post


Link para o post
Compartilhar em outros sites

Não podes passar todos os valores a uma só variável e depois fazer a comparação com apenas um IF...

 

PHP
<?php

$matriz_eddye = array (

0=>" Joelson ",

1=>" Victor ",

2=>" Vanessa ",

3=>" Sara ",

4=>" Rosiane ",

5=>" Priscila ",

6=>" Eddye ",

7=>" Ildone ",

8=>" Talita "

);

 

if ($matriz_eddye[0] == "Joelson"){

echo "É o Joelson";

} else {

echo "Não é o Joelson";

}

?>

 

Pronto ;)

Então Gabriel, ele continua imprimindo o echo do else. Parece que nao verifica o if.

O correto, neste codigo, deve imprimir "É o Joelson" certo? Mas ele imprimi "Não é o Joelson."

Compartilhar este post


Link para o post
Compartilhar em outros sites

Imagino que ele queira testar todos os nomes do array, por isso o uso do foreach(). ;)

 

Está certo o seu código sim Joelson, mas perceba que nos nomes do array, existe um espaço no início e no final do nome, e quando você faz a comparação, não. Ai que está a diferença, consequentemente está dando tudo "Não é o Joelson".

 

Flws...

;)

Compartilhar este post


Link para o post
Compartilhar em outros sites

Mais perceba que ele não usa o IF($var === "string"){} que no caso seria SE $VAR FOR IDENTICO A STRING....

 

portanto penso que não faz diferença amigo ;)

 

Joelson, podes usar a função

PHP
trim();
que elimina os espaços para ver se ta correto, ou então retira os espaços, mais creio que não é isso.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Imagino que ele queira testar todos os nomes do array, por isso o uso do foreach(). ;)

 

Está certo o seu código sim Joelson, mas perceba que nos nomes do array, existe um espaço no início e no final do nome, e quando você faz a comparação, não. Ai que está a diferença, consequentemente está dando tudo "Não é o Joelson".

 

Flws...

;)

Frenesi, funcionou, realmente faltou o espaco.

No navegador agora é impresso todos nomes verificando 1 a 1. Como faço para ele imprimir apenas 1 resultado. O codigo usado foi o abaixo.

 

<?php

$matriz_eddye = array (

0=>" Joelson ",

1=>" Victor ",

2=>" Vanessa ",

3=>" Sara ",

4=>" Rosiane ",

5=>" Priscila ",

6=>" Eddye ",

7=>" Ildone ",

8=>" Talita "

);

foreach ($matriz_eddye as $eddye)

 

if ($eddye == " Joelson "){

echo "É o Joelson";

} else {

echo "Não é o Joelson";

}

?>

Compartilhar este post


Link para o post
Compartilhar em outros sites

Neste caso, indico outra maneira de fazer esta verificação, veja:

<?php
$matriz_eddye = array (
						0=>" Joelson ",
						1=>" Victor ",
						2=>" Vanessa ",
						3=>" Sara ",
						4=>" Rosiane ",
						5=>" Priscila ",
						6=>" Eddye ",
						7=>" Ildone ",
						8=>" Talita "
					);
					
if( in_array(" Joelson ", $matriz_eddye) )
{
	echo "Possui 'Joelson' na matriz";
}
else
{
	echo "Não possui 'Joelson' na matriz";
}
?>

Compartilhar este post


Link para o post
Compartilhar em outros sites

Vlw Frenesi, ajudou muito mesmo ;)

So mais uma duvida! Como faco para imprimir apenas alguns nomes da matriz, por exemplo

 

<?php

$matriz_joelson = array (0=>" Joelson ",1=>" Eduardo ",2=>" Cesar ");

foreach ($matriz_joelson as $nome)

echo "$nome";

?>

So quero imprimir os nomes dos indices 0 e 2. Com o echo "$nome" ele imprime todos os nomes.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Frensei, valeu ai.. eu achava que tipo, só se ele usar if($var ===) ...

 

por isso pensava que não faz diferença.

 

Abraço.

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.