php
2011-11-03 67 views 0 likes 
0

我有這樣一個字符串變量:'1111/222/333''1111/222/333/444'PHP遞減仿羔皮呢

,我想獲得一個這樣的數組:

111-222-3333 
111-222- 
111- 

OR

1111-222-333-444 
1111-222-333- 
1111-222- 
1111- 

我有試過$pieces = explode("/", $str);

和:

$str = '1111/222/333/444'; 
$pieces = explode("/", $str); 
for($i=0; $i<count($pieces); $i++) { 

    $var .= $pieces[$i]."-".$pieces[$i+1]; 
    echo $i." - ".$var."<br>"; 

} 

但我沒有得到好的結果!

任何幫助?

+1

什麼是 「仿羔皮呢」? –

回答

4
$str = '1111/222/333/444' ; 
$pieces = explode("/", $str); 
$num = count($pieces); 
for($i=0;$i<$num;$i++) { 
     print implode('-',$pieces).($i?'-':'')."\n"; 
     array_pop($pieces); 
} 

See it work

+0

在倒數第二個元素中,他想要的尾隨連字符怎麼樣? –

+0

@JürgenThelen:更新了答案。感謝您指點。 – codaddict

+0

我喜歡這個代碼;)謝謝:) – Bizboss

0

如何:

$str = '1111/222/333/444'; 
$pieces = explode("/", $str); 
$newArray = array(); 
$s = ''; 
foreach ($pieces as $piece) 
{ 
    $s .= $piece.'-' 
    $newArray[] = $s; 
} 
rsort($newArray); 
0

我的第一次嘗試是:

$str = '1111/222/333/444'; 
$pieces = explode("/", $str); 
$countPieces = count($pieces); 
echo $countPieces; 
while ($countPieces > 0) { 
    $var = $pieces[0]; 
     for($i = 1; $i < $countPieces; $i++) { 
      $var = $var . "-" . $pieces[$i]; 
     } 
    echo $var . "\n"; 
    $countPieces--; 
} 
相關問題