很长时间没有用过C++中的substr了, 导致今天用php中的substr出现理解错误, 错误程序如下:
- <?php
- $a = "abc{agag}defdgd";
- $begin = strpos($a, "{");
- $end = strpos($a, "}");
-
- $b = substr($a, $begin + 1, $end - 1);
- echo $b;
- ?>
正确程序为:
- <?php
- $a = "abc{agag}defdgd";
- $begin = strpos($a, "{");
- $end = strpos($a, "}");
-
- $b = substr($a, $begin + 1, $end - $begin - 1);
- echo $b;
- ?>
结果OK. 注意, 第三个参数的长度, 而非位置。