基本算法个人PHP 实现(四)
<?php /** * php 字符串插入 2012/7/9 星期一 */ function insertStr($str,$i,$Istr){ if(strlen($str) < $i) return; $resStr = ''; for($j = 0; $j < $i; $j++){ $prev .= $str[$j]; } for($k= $i;$k <= strlen($str); $k++){ $last .= $str[$k]; } return $prev.$Istr.$last; } //echo insertStr('124',2,3); /** * php 删除一段字符串 2012/7/9 星期一 */ function removeStr($str,$from,$len){ if($from > strlen($str) || strlen($str) < $from + $len) return 'invalid arguments'; $resStr = ''; for($i = 0; $i < $from; $i++ ){ $prevStr .= $str[$i]; } for($j = $from+$len; $j <= strlen($str); $j++){ $nextStr .= $str[$j]; } return $prevStr.$nextStr; } //echo removeStr('123456',5,1); /** * ++ * +- * -+ * -- * php 截取字符串 2012/7/9 星期一 */ function sub_str($str,$start,$len = null){ // 判断可选值是否存在 if(!isset($str) || !isset($start)) return 'invalid arguments!'; if($start >=0 && $len >0 ){ for($i = $start; $i < $start + $len ;$i++){ $res .= $str[$i]; } } if($start >= 0 && $len < 0 && strlen($str) + $len >= $start ){ // +- for($i = $start; $i < strlen($str)+ $len; $i++){ $res .= $str[$i]; } } if($start <= 0 && $len > 0 && strlen($str) + $start >= 0 ){ //-+ for($i = strlen($str) + $start; $i < strlen($str); $i++){ $res .= $str[$i]; } } if($start < 0 && $len < 0 && $start < $len && strlen($str) + $start >= 0 &&strlen($str) + $len >= 0){ // -- for($i = strlen($str) + $start; $i < strlen($str) + $len; $i ++){ $res .= $str[$i]; } } return $res; } echo sub_str('123456789',-10, -2).'<br>'; echo substr('123456789',-10, -2); ?>
生命只有一次。