在一个PHP学习群里,看见有人提问怎么一个字符串在另一个字符串中出现的所有位置,写个函数出来,下面是我写的函数,抛砖引玉吧!<?php //求字符在字符串内出现的位置 $str = 'abcdefgabcefhiabgiswinglqaieuusnakshrirsa'; $a = 'a'; echo strpos($str,$a); echo '<br>'; $arr = find_pos($str,$a); print_r($arr); /* *$str 被查找字符串 *$s 需要查找的字符串 *$p 开始位置 */ function find_pos($str,$s,$p=0){ static $pos_arr = array(); $pos = strpos($str,$s,$p); if( $pos !== false){ $pos_arr[] = $pos; find_pos($str,$s,$pos+1); } return $pos_arr; }