php preg_set_order,preg_match_all中第四个参数PREG_PATTERN_ORDER,PREG_SET_ORDER,PREG_OFFSET_CAPTURE之间的区别!...

echo"
";

$str="asdf{title}asdf{author}sadf{con}asfasdfasdfasf";

$mode="/{(.*)}/U";

$flags1= PREG_PATTERN_ORDER;//整个数组是二维数组,$arr1[0]是包括边界所构成匹配字符串的数组,$arr1[1]除去边界所构成的匹配字符串的数组;

preg_match_all($mode,$str,$arr1,$flags1);

print_r($arr1);

echo"
";

$flags2= PREG_SET_ORDER;//整个数组是二维数组,$arr2[0][0]是第一个包括边界所构成的匹配的字符串,$arr2[0][1]是第一个除去边界所构成的匹配的字符串,之后的数组以此类推

preg_match_all($mode,$str,$arr2,$flags2);

print_r($arr2);

echo"
";

$flags3= PREG_OFFSET_CAPTURE;//整个数组是三维数组,$arr3[0][0][0]是第一个包括边界所构成的匹配的字符串,$arr3[0][0][1]是到达第一个匹配字符串的边界的偏移量(边界不算在内),之后以此类推,$arr2[1][0][0]是第一个包括边界所构成的匹配的字符串,$arr3[1][0][1]是到达第一个匹配字符串的边界的偏移量(边界算在内);

preg_match_all($mode,$str,$arr3,$flags3);

print_r($arr3);

区别已经注明在注释中,通过下面的数组应该会把区别表明得更直观!~~


Array

(

[0] => Array

(

[0] => {title}

[1] => {author}

[2] => {con}

)

[1] => Array

(

[0] => title

[1] => author

[2] => con

)

)


Array

(

[0] => Array

(

[0] => {title}

[1] => title

)

[1] => Array

(

[0] => {author}

[1] => author

)

[2] => Array

(

[0] => {con}

[1] => con

)

)


Array

(

[0] => Array

(

[0] => Array

(

[0] => {title}

[1] => 4

)

[1] => Array

(

[0] => {author}

[1] => 15

)

[2] => Array

(

[0] => {con}

[1] => 27

)

)

[1] => Array

(

[0] => Array

(

[0] => title

[1] => 5

)

[1] => Array

(

[0] => author

[1] => 16

)

[2] => Array

(

[0] => con

[1] => 28

)

)

)

php菜鸟,希望与大家共同学习!~~qq:1309782600

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值