Pular para o conteúdo

Script - Conteudo Array

Responder tópico
  • Denunciar
  • Indicar

1. Script - Conteudo Array

Enviado em 24/07/2009 - 12:42h

Abaixo o script.

<?php
$a = $_POST['a'];
$b = $_POST['b'];
if ( $a == "casa")
$opcao = ("A casa é $b");
else {
$opcao = ("A casa não é $b");
}
$array = file("casa.txt");
if (in_array("$opcao", $array))
echo $opcao;
else
echo "Nao foi encontrado o OPÇÃO";
?>

No meu texto tenho as seguintes frases

A casa é amarela
A casa não é amarela

O que estou querendo fazer é comparar uma das opçoes passadas com o conteudo do array que foi obtido atraves de um texto.

Responder tópico

2. Seu caso tem solucao

Enviado em 25/07/2009 - 11:49h

vc não está localizando corretamente este texto porque
a comparação feita em in_array é sequencialmente e com cada
valor de texto correspondendo exatamente ao texto no elemento
buscado no momento. A melhor maneira de vc ver isto é debugando
com var_dump, por exemplo.

o var_dump($array) irá lhe mostrar um caracter a mais, que no seu exemplo
"a casa é amarela" contem apenas 16 caracteres porem por todo o array
vc perceberá que suas frases terão o comprimento (frase+1), exceto para o
ultimo elemento que terá o comprimento (frase);
para vc ter uma visao mais clara aumente o numero de frases e veja este acrescimo
de um espaço em branco no final da frase trazido por file() para o elemento atual.

Mas o problema é gerado extamente no file(), conforme documentado no php.net, veja sempre a documentação do php, existe o parametro "flags"

FILE_IGNORE_NEW_LINES

$array = file("casa.txt",FILE_IGNORE_NEW_LINES);

e os espaços em branco sumirão, dái seu estudo pode continuar.


Estude os outros exemplos de flags


Responder tópico

Responder tópico

Entre na sua conta para responder.

Fazer login para responder