日期:2014-05-17  浏览次数:20513 次

处理字符串的好方法
传来的参数格式为下划线分隔的数字,字串长度随机。比如:
1_1
1_2_10
12_1_5_10...
等等。
拿1_2_10为例,要对它处理得到1、1_2、1_2_10;
拿12_1_5_10为例,要对它处理得到12、12_1、12_1_5、12_1_5_10 (规律看出来了吧)
求好的算法。


------解决方案--------------------
PHP code
$s = '12_1_5_10';

$r[] = strtok($s, '_');
for($i=0; $t = strtok('_'); $i++) {
  $r[] = $r[$i] . '_' . $t;
}
print_r($r);

------解决方案--------------------
还是老大猛,我的就是裹脚布

$str = '12_1_5_10';
$array = explode('_', $str);
$newarr = array();
for ($i = 0; $i < count($array); $i++) {
$newarr[]=array_slice($array,0,$i+1);
}
foreach($newarr as $value){
echo '<pre>'.implode('_',$value).'</pre>';
}