RE: [PHP] split behaviour differences in perl and php
| From: | Andrew Martinez | Date: | Thu, 16 Sep 2004 14:52:41 +0000 |
| Subject: | RE: [PHP] split behaviour differences in perl and php | ||
| References: | 1 | Groups: | php.general |
| Request: | Send a blank email to php-general+get-196865@lists.php.net to get a copy of this message | ||
PHP's string manipulation functions (such as split()) are not guaranteed to
behave exactly like in PERL. The functions that are prefixed by 'preg_' are
(PERL REG (EX)) guaranteed to some extent and well documented where preg_
functions are not PERL compliant.
So, its not a bug, its just PHP being its own language.
Cheers,
Andrew Martinez
RubyBay Inc.
> -----Original Message-----
> From: Curt Zirzow [mailto:php-general@zirzow.dyndns.org]
> Sent: Thursday, September 16, 2004 10:45 AM
> To: php-general@lists.php.net
> Subject: Re: [PHP] split behaviour differences in perl and php
>
> * Thus wrote Sandip Bhattacharya:
> > This stumped me badly in my present project. Is this a bug or a feature
> in
> > PHP? I am trying to split a string into two, where only one half (and
> the
> > delimiter) is present.
> >
> >
> > IN PERL
> > ==================================
> > [sandip@pluto ~]$ cat s1.pl
> > @t = split(/,/ , "a,b");
> > $len = $#t + 1;
> > print "$len\n";
> > @t = split(/,/, "a,");
> > $len = $#t + 1;
> > print "$len\n";
> >
> > [sandip@pluto sql]$ perl s1.pl
> > 2
> > 1
> >
> >
> > IN PHP
> > =======================
> >
> > [sandip@pluto ~]$ cat s1.php
> > <?php
> > print count(split(',', 'a,b'))."\n";
> > print count(split(',', 'a,'))."\n";
> > ?>
> >
> > [sandip@pluto sql]$ php -q s1.php
> > 2
> > 2
>
> split in php isn't the same as perl's split, there is preg_split()
> which you can use:
>
> $results = preg_split('/,/','a,', -1, PREG_SPLIT_NO_EMPTY);
> print(count($results)); // outputs: 1
>
>
> Curt
> --
> The above comments may offend you. flame at will.
>
> --
> PHP General Mailing List (http://www.php.net/)
> To unsubscribe, visit: http://www.php.net/unsub.php