Re: file() and array values contain extra \n
| From: | Jason Wong | Date: | Tue, 16 Jul 2002 14:44:21 +0000 |
| Subject: | Re: file() and array values contain extra \n | ||
| References: | 1 | Groups: | php.general |
| Request: | Send a blank email to php-general+get-107882@lists.php.net to get a copy of this message | ||
On Tuesday 16 July 2002 22:35, Dave [Hawk-Systems] wrote:
> >> $users[]=$newuser;
> >> # adds the new user to the end of the above created users array
> >> # then write the array to the file
> >> $fd = fopen (".users", "w+");
> >> fwrite ($fd, join("\n",$users));
> >> fclose ($fd);
> >>
> >> the problem is after adding users, only the last user returns the user
> >> name in the array, all the other users have an additional "/n" at the
> >> end of them, which causes the check to barf.
> >
> >Well, if you RTFM, you'll know that file() "returns the file in an array
> > ... with the newline still attached". So one possible solution is after
> > using file(), loop through $users and remove the trailing "\n".
>
> thanks, I am/was looking to avoid looping through the array unnecessarily,
> and simply have them removed at the time of dumping the file into the
> array.
Then use:
if(in_array($HTTP_SERVER_VARS["REMOTE_USER"] . "\n", $users)) { ... }
BTW, it should be:
fwrite ($fd, join('', $users));
otherwise each time you write the file out it will have an increasing number
of "\n" attached to each user.