题目:从字符串hshh45hdhdj578hdyxuw57hdh9p中取出相应的数字并求和,要求形式为(45+578+57+9)?
答案如下
方法一:
//思路把数字组成一个数组,然后数组求和 function findNum($str) { $result = array(); $key = 0; $s=''; for($i=0; $i<strlen($str); $i++) { if(is_numeric($str[$i])) { $s .= $str[$i]; $result[$key] = $s; } else{ $s=''; $key++; } } echo array_sum($result); }
方法二:
function findNum($str){ $i=0; $number = ''; $total = 0; while(isset($str[$i])){ if(is_numeric($str[$i])){ $number .= $str[$i]; } else{ $total += $number; $number = ''; } $i++; } echo $total += $number; }