Jump to content


Photo

Comparar O Valor De Um Array Com Uma String Utilizando If


  • Faça o login para participar
5 replies to this topic

#1 xThiAg0

xThiAg0

    Normal

  • Usuários
  • 77 posts
  • Sexo:Não informado

Posted 04/09/2008, 18:44

Olá pessoal, estou com um problema para comparar o valor de um campo do array com uma string utilizando IF.
Utilizo o código abaixo:

foreach($nivel as $valor)
{
	echo $valor, "<br>\r\n"; \\Exibe isto normalmente
	if ($valor == "noticias")){
		echo "Tem notícias"; \\Não exibe
		noticias += 1;} \\Não soma
	if ($valor == "inscricoes")){
		echo "Tem inscricoes"; \\Não exibe		
		inscricoes += 1;} \\Não soma
}

Já tentei utilizar da seguinte maneira:
if(current($nivel)=="noticias")
Mas também não funcionou.

Alguém poderia gentilmente me ajudar?

Edição feita por: xThiAg0, 04/09/2008, 18:45.


#2 lwirkk

lwirkk

    Veterano

  • Usuários
  • 1314 posts
  • Sexo:Não informado

Posted 04/09/2008, 23:49

Como está seu array?
E NOTICIAS e INSCRICOES ali sao Constantes?
Posted Image
"Se quiser ser feliz por um dia, vingue-se; se quiser ser feliz por uma vida inteira, perdoe."

Muito Obrigado à todos do fórum, e à toda equipe do fórum! =)

#3 Rodrigo

Rodrigo

    oi!

  • Usuários
  • 995 posts
  • Sexo:Não informado
  • Interesses:Diretório de sites - http://www.acheinobrasil.com.br

Posted 04/09/2008, 23:50

ja deu um print_r($nivel) para se certificar dos valores?

#4 xThiAg0

xThiAg0

    Normal

  • Usuários
  • 77 posts
  • Sexo:Não informado

Posted 05/09/2008, 01:16

Como está seu array?
E NOTICIAS e INSCRICOES ali sao Constantes?

Não, são variáveis. Na hora de publicar aqui esqueci de colocar o $.

ja deu um print_r($nivel) para se certificar dos valores?

Da seguinte maneira (resultado do print_r($nivel)):
Array ( [0] => noticias [1] => palestras [2] => incricoes [3] => administradores )

Para melhor entendimento, segue abaixo o código:

HTML:
[vem antes..]
<input type="checkbox" name="nivel[]" id="nivel0" value="noticias "/> <label for="nivel0">Gerenciar notícias  </label><br />
<input type="checkbox" name="nivel[]" id="nivel1" value=" palestras "/> <label for="nivel1"> Gerenciar palestras  </label><br />
<input type="checkbox" name="nivel[]" id="nivel2" value=" incricoes "/> <label for="nivel2"> Gerenciar inscrições  </label><br />
<input type="checkbox" name="nivel[]" id="nivel3" value=" administradores"/> <label for="nivel3"> Gerenciar administradores </label><br />
[vem depois...]

PHP:
$nivel = $_POST["nivel"];
foreach($nivel as $valor)
{
	echo $valor, "<br>\r\n"; //Exibe isto normalmente
	if ($valor == "noticias"){
		echo "Tem notícias"; //Não exibe
		$noticias += 1;} //Não soma
	if ($valor == "palestras"){
		echo "Tem palestras"; //Não exibe		
		$palestras += 1;} //Não soma
	if ($valor == "inscricoes"){
		echo "Tem inscricoes"; //Não exibe		
		$inscricoes += 1;} //Não soma
	if ($valor == "administradores"){
		echo "Tem administradores"; //Não exibe		
		$administradores += 1;} //Não soma
}
echo "$noticias, $palestras, $inscricoes e $administradores";
Exibe:

noticias
palestras
incricoes
administradores
, , e



#5 Paulo Freitas

Paulo Freitas

    ××××××× LRU #456504 ××××××× ××××××× LRM #364686 ×××××××

  • Ex-Admins
  • 5612 posts
  • Sexo:Masculino
  • Localidade:Campinas - SP

Posted 05/09/2008, 02:29

[vem antes..]
<input type="checkbox" name="nivel[]" id="nivel0" value="noticias "/> <label for="nivel0">Gerenciar notícias  </label><br />
<input type="checkbox" name="nivel[]" id="nivel1" value=" palestras "/> <label for="nivel1"> Gerenciar palestras  </label><br />
<input type="checkbox" name="nivel[]" id="nivel2" value=" incricoes "/> <label for="nivel2"> Gerenciar inscrições  </label><br />
<input type="checkbox" name="nivel[]" id="nivel3" value=" administradores"/> <label for="nivel3"> Gerenciar administradores </label><br />
[vem depois...]

Os valores desses campos não bate com os que você compara no PHP... :ponder:

[]’s :DAté mais

#6 lwirkk

lwirkk

    Veterano

  • Usuários
  • 1314 posts
  • Sexo:Não informado

Posted 05/09/2008, 03:02

Como PR disse, se for isso mesmo também, faça isso que poderá dar certo:
foreach($nivel as $valor=>$key)
Troquei os nomes ali claro, mas para não precisar modificar as variaveis de dentro do foreach... (y)
Posted Image
"Se quiser ser feliz por um dia, vingue-se; se quiser ser feliz por uma vida inteira, perdoe."

Muito Obrigado à todos do fórum, e à toda equipe do fórum! =)




0 user(s) are reading this topic

0 membro(s), 0 visitante(s) e 0 membros anônimo(s)

IPB Skin By Virteq