正则匹配输出的数组为什么是这样的。

来源:3-6 查找所有匹配结果

慕的地4125150

2017-04-24 11:26

<?php

$p = "/<tr><td>(.*?)<\/td>\s*<td>(.*?)<\/td>\s*<\/tr>/i";

$str = "<table> <tr><td>Eric</td><td>25</td></tr> <tr><td>John</td><td>26</td></tr> </table>";

preg_match_all($p, $str, $matches);

print_r($matches);

$matches:

Array
(
   [0] => Array
       (
           [0] => Eric25
           [1] => John26
       )

   [1] => Array
       (
           [0] => Eric
           [1] => John
       )

   [2] => Array
       (
           [0] => 25
           [1] => 26
       )

)哪位大神能给解释一下?


写回答 关注

1回答

  • 慕粉4214887
    2017-04-24 14:30:47

    $matches  是preg_match_all 最后得出的 是一个数组


     第0个代表全部  第1个代表正则匹配的第一个<td>Eric</td> 里的  第二个 代表第二个 <td>25</td>

PHP进阶篇

轻松学习PHP中级课程,进行全面了解,用PHP快速开发网站程序

181734 学习 · 2575 问题

查看课程

相似问题