赞
踩
将字符串中的数字相加
思路:1.需要将各个值放到数组中,' , '相当于各个字符的分割符,将各个值拆分出来,用分割符号来分割字符串,得到数组;
2.需要遍历数组,看看哪些属于数值(只是将数值进行相加的运算),需要弄清楚哪些属于数值,哪些属于字符串(需让程序识别出来)
注:其它字符(不是数字的),不进行相加运算
1.用分割符号来分割字符串,得到数组
- <?php
- header('content-type:text/html;charset=utf-8');
-
- $str = "15,123,58,abc,89,dde,23,6,f";
-
- $arr = explode(',',$str);
-
- print_r($arr);//分割后的结果
输出结果:
Array ( [0] => 15 [1] => 123 [2] => 58 [3] => abc [4] => 89 [5] => dde [6] => 23 [7] => 6 [8] => f )
2.检测变量是否为数字或数字字符串
- <?php
- header('content-type:text/html;charset=utf-8');
-
- $str = "15,123,58,abc,89,dde,23,6,f";
-
- $arr = explode(',',$str);
-
- //print_r($arr);
-
- $sum = 0;
- foreach($arr as $value){
- //var_dump($value);//字符串
- if(is_numeric($value)){
- echo $value . '是数字字符串' . '<br>';
- }else{
- echo $value . '是普通的字符串' . '<br>';
- }
- }
输出结果:
输出结果为:
123是数字字符串
58是数字字符串
abc是普通的字符串
89是数字字符串
dde是普通的字符串
23是数字字符串
6是数字字符串
f是普通的字符串
3.求和
- <?php
- header('content-type:text/html;charset=utf-8');
-
- $str = "15,123,58,abc,89,dde,23,6,f";
-
- $arr = explode(',',$str);
-
- // print_r($arr);
-
- $sum = 0;
- foreach($arr as $value){
- if(is_numeric($value)){
- $sum += $value;
- }
- }
- echo $sum;
314
explode — 使用一个字符串分割另一个字符串
语法:array explode ( string $delimiter , string $string [, int $limit ] )
此函数返回由字符串组成的数组,每个元素都是 string 的一个子串,它们被字符串 delimiter 作为边界点分割出来。
delimiter 边界上的分隔字符。
string 输入的字符串。
limit 如果设置了 limit 参数并且是正数,则返回的数组包含最多 limit 个元素,而最后那个元素将包含 string 的剩余部分。
如果 limit 参数是负数,则返回除了最后的 - limit 个元素外的所有元素。
如果 limit 是 0,则会被当做 1。
explode() 例子 :
- <?php
- $pizza = "piece1 piece2 piece3 piece4 piece5 piece6" ;
- $pieces = explode ( " " , $pizza );
- echo $pieces [ 0 ]; // piece1
- echo '<br>';
- echo $pieces [ 1 ];
输出结果为:
piece1
piece2
is_numeric — 检测变量是否为数字或数字字符串
语法:bool is_numeric ( mixed $var )
如果 var 是数字和数字字符串则返回 TRUE ,否则返回 FALSE
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。