Problema com script - Avançado

Enviada por Bene 
Bene
Problema com script - Avançado
22 de February de 2003 às 11:48PM
Humildemente alguem pode me ajudar a descobrir porque o script abaixo não funciona quando o que estou procurando não esta dentro do array ??

Veja de $procura = "XX";
echo $existe; deveria ser mentira mas retorna em branco. Proque ??

<?php
$procura = "RJ";
$checa_est = array ( "AC", "AL", "AM", "AP", "BA", "CE", "DF", "ES", "GO", "MA", "MG", "MS", "MT", "PA", "PB", "PE", "PI", "PR", "RJ", "RN", "RO", "RS", "SC", "SE", "SP", "TO", "RR" );
$total = count($checa_est);

for ($i=0; $i<$total; ++$i) {
if ($checa_est[$i] == $procura) {
$existe = "verdade";
$aqui = current($checa_est);
} else {
$exite = "mentira";
}
}
echo $existe."<br>\n";
?>
Vilson
Re: Problema com script - Avançado
23 de February de 2003 às 02:15AM
Você já viu que no else a variável existe esta digitada incorretamente???
Bene
Re: Problema com script - Avançado
23 de February de 2003 às 07:17PM
Mesmo após acertar a variavel após o else, a mesma ainda não funciona como esperado.

Alguem mais pode tentar me ajudar.
<b>Re: Problema com script - Avançado</b>
24 de February de 2003 às 01:41PM
<HTML>Olha, acertei a variável e funcionou conforme programado. A lógica sempre vai retornar mentira, mas funciona.</HTML>
Clever Anjos
Re: Problema com script - Avançado
24 de February de 2003 às 02:26PM
Apesar de valer como aprendizado, é mais eficiente usar as funções prédefinidas do PHP para manipulação de arrays e strings,
Veja a função in_array em php.net
n_array -- Return TRUE if a value exists in an array
Description
bool in_array ( mixed needle, array haystack [, bool strict])

Searches haystack for needle and returns TRUE if it is found in the array, FALSE otherwise.

If the third parameter strict is set to TRUE then the in_array() function will also check the types of the needle in the haystack.

Note: If needle is a string, the comparison is done in a case-sensitive manner.

Note: In PHP versions before 4.2.0 needle was not allowed to be an array.
Diogenes Guedes Rettori
Re: Problema com script - Avançado
24 de February de 2003 às 09:31PM
Cara, o seu problema e que o for continua executando mesmo depois que achou.

Coloque um break caso de certo:

Ex:
$existe = "verdade";
$aqui = current($checa_est);
break;
O break finaliza estruturas de repeticao.
Você precisa estar logado no PHPBrasil.com para poder enviar mensagens para os nossos fóruns.

Faça o login aqui.