为了账号安全,请及时绑定邮箱和手机立即绑定

为什么$match[1]的值是:steven jobs

$p = '/\w+:(\w+\s\w+)/';

$str = "name:steven jobs";

preg_match($p, $str, $match);

echo $match[1]; //结果为:steven jobs

print_r($match);


正在回答

3 回答

int preg_match ( string $pattern , string $subject [, array &$matches [, int $flags = 0 [, int$offset = 0 ]]] )
// $pattern 要搜索的模式,字符串类型。
// $subject 输入字符串
// $match 如果提供了参数matches,它将被填充为搜索结果。 $matches[0]将包含完整模式匹配到的文本, $matches[1] 将包含第一个捕获子组匹配到的文本,以此类推。


3 回复 有任何疑惑可以回复我~

preg_match函数返回值数组中,首先返回匹配的字符串,你的代码中有一个匹配,所以match[0]是name:steven jobs,而后返回的是分组,你的表达式中就一个分组,匹配结果为steven jobs,所以match[1]的值为steven jobs.

0 回复 有任何疑惑可以回复我~

$match[1]的索引是$str,而$str的属性值是steven jobs

0 回复 有任何疑惑可以回复我~

举报

0/150
提交
取消

为什么$match[1]的值是:steven jobs

我要回答 关注问题
意见反馈 帮助中心 APP下载
官方微信