文字列を処理する良い方法
渡されるパラメータはアンダースコアで区切られた数値の形式であり、文字列の長さはランダムです。例:
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 を取得する必要があります (パターン)
優れたアルゴリズム。
-----解決策---------------------------- -
$s = '12_1_5_10'; $r[] = strtok($s, '_'); for($i=0; $t = strtok('_'); $i++) { $r[] = $r[$i] . $t; } print_r($r); <br><font color="#e78608">------解決策---------</font><br>ボスはまだ猛々しい、私はフットラップだ<br><br>$str = '12_1_5_10';<br>$array =explode('_', $str);<br>$newarr = array();<br>for ($i = 0; $ i < count($array); $i++) {<br /> $newarr[]=array_slice($array,0,$i+1);<br />}<br />foreach($newarr as $value){ <br /> echo '<pre class="brush:php;toolbar:false">'.implode('_',$value).'';