Re: PHP > v7.2.18 preg_match returns 2

From: Date: Thu, 21 Nov 2019 11:52:38 +0000
Subject: Re: PHP > v7.2.18 preg_match returns 2
References: 1 2  Groups: php.general 
Request: Send a blank email to php-general+get-326946@lists.php.net to get a copy of this message
On 19.11.2019 at 15:16, Christoph M. Becker wrote: > On 19.11.2019 at 14:25, Falko Matthies wrote: > >> just found out, that function preg_match() returns not only 1 or boolean values. I did not >> find any documentation about >> some changes of this method and also the documentation is still the same.. So either there >> are undocumented changes or it >> is a small bug. >> >> Documentation: >> https://www.php.net/manual/en/function.preg-match.php#refsect1-function.preg-match-returnvalues >> >> Tested locally with PHP 7.3.11-1+0~20191026.48+debian10~1.gbpf71ca0 >> >> <?php >> var_dump(preg_match('/^|\d{1,2}$/', "7")); // expected: int(1), >> got: int(2) >> >> >> Also a small test at http://sandbox.onlinephpfunctions.com/ >> showed a result change between PHP v7.2.18 and v7.3.5. I >> have checked the bugs and the changelog but could not find any notes. > > This also happens on <https://3v4l.org/cKarY>, but only > as of 7.3.0 (not > 7.2). On a quick glance, it looks like this line[1] should rather be > > RETVAL_LONG(global ? matched : MIN(matched, 1)); > > Anyhow, I suggest to file a bug report on > <https://bugs.php.net/> > (assuming that this issue has not been reported already). > > [1] > > <https://github.com/php/php-src/blob/php-7.3.11/ext/pcre/php_pcre.c#L1413> I have filed that as <https://bugs.php.net/78853> just now. Thanks, Christoph

« previous php.general (#326946) next »