Re: Not getting expected result from file()
| From: | David Robley | Date: | Mon, 11 Jun 2007 03:59:54 +0000 |
| Subject: | Re: Not getting expected result from file() | ||
| References: | 1 | Groups: | php.general |
| Request: | Send a blank email to php-general+get-256583@lists.php.net to get a copy of this message | ||
kvigor wrote:
> Hello,
>
> I'm using the file function create an array. I'm using a value from a
> form to see if it matches in elements in the array.
>
> My problem is I expect the condition to be true but info but my DB isn't
> populated as I in the right DB...
> =================Code
> Begins======================================================
> $theFileArray = file('C:\htdocs\folder1\file.txt');
>
Your problem starts here - file returns the file in an array. Each element
of the array corresponds to a line in the file, with the newline still
attached. When you compare to a string without the newline at the end, the
comparison fails.
If you have php > 5.0.0 you can use the FILE_IGNORE_NEW_LINES flag in the
file() arguments, otherwise use trim() to remove trailing whitespace from
the array elements.
Cheers
--
David Robley
"I hate playing craps," Tom said dicily.
Today is Boomtime, the 16th day of Confusion in the YOLD 3173.