Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/231.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php preg_match,返回正则表达式匹配的内容,而不是真值或假值_Php_Regex - Fatal编程技术网

Php preg_match,返回正则表达式匹配的内容,而不是真值或假值

Php preg_match,返回正则表达式匹配的内容,而不是真值或假值,php,regex,Php,Regex,我希望有一个像preg_match这样的函数,但它返回正则表达式匹配的内容,而不是真值或假值 $warehouse = preg_match( '/^[0-9]+/', $warehouse ); 这将返回true或false,但我需要一个等价的函数,它将返回正则表达式匹配的内容 因此,在供应商处,$warehouse=10+的情况下, 然后是函数('/^[0-9]+/',$warehouse)将返回10如果您阅读,您将看到preg\u match可以接受第三个参数,$matches,匹配的字

我希望有一个像
preg_match
这样的函数,但它返回正则表达式匹配的内容,而不是真值或假值

$warehouse = preg_match( '/^[0-9]+/', $warehouse );
这将返回true或false,但我需要一个等价的函数,它将返回正则表达式匹配的内容

因此,在供应商处,
$warehouse=10+的情况下,
然后是
函数('/^[0-9]+/',$warehouse)
将返回
10

如果您阅读,您将看到
preg\u match
可以接受第三个参数,
$matches
,匹配的字符串将放置在该参数中。如果正则表达式中没有组,则整个匹配字符串将位于
$matches[0]
中。例如:

$warehouse = '354-Sydney';
if (preg_match('/^[0-9]+/', $warehouse, $matches)) {
     echo $matches[0];
}
输出:

354
这就是你想要的。添加$matches参数。有关所有详细信息,请参阅手册