2017-02-11 6 views
0

文字を開始文字に基づいてグループに分ける次のコードがあります。私は今、自分のグループを取得する各開始番号ではなく、すべての数字を1つのグループにまとめようとしています。私はこれを行うために変更する方法を見つけることができないため誰かが助けることができますか?数字を1つのグループに結合するには

$last = ''; 
foreach($brandsArray as $words){ 
    $current = substr($words, 0, 1); 
    if(strtoupper($current) != strtoupper($last)) { 
     echo "\n 
     <a name=\"". strtoupper($current) ."\"><li class=\"title\">" . strtoupper($current) . "</li></a>\n\n"; 
    } 
    echo '<li>'. $words . "</li>\n"; 
    $last = $current; 
} 

入力の例:

1 
121 
57 
876 
Apple 
Apple1 
Banana 
Banana123 
Delta 

私は出力が

**#** 
1 
121 
57 
876 

**A** 
Apple 
Apple1 

**B** 
Banana 
Banana123 

**D** 
Delta 

に見えるようにしたいどのような何のが現在やっては与えられたために、以下の

**1** 
1 
121 

**5** 
57 

**8** 
876 

**A** 
Apple 
Apple1 

**B** 
Banana 
Banana123 

**D** 
Delta 
+0

あなたは "入力と期待出力 –

+0

'

  • " . strtoupper($words) . "
  • \のサンプル例を提供N \ Nしてください可能性があり、 ' –

    +0

    @VeshrajJoshi - 入力を示すように更新、そのがやって何を、と私はそれがやりたいです – KDJ

    答えて

    1

    ですクォートごとの入力と予想される出力上記のエスティオン。

    $brandsArray = array('1', '121', '57', '876', 'Apple', 'Apple1', 'Banana', 'Banana123', 'Delta'); 
    $last = ''; 
    foreach($brandsArray as $words){ 
        // setting the current value as # if is number 
        $current = is_numeric($words)?"#":substr($words, 0, 1); 
        if (strtoupper($current) != strtoupper($last)) { 
         echo "\n 
         <a name=\"". strtoupper($current) ."\"><li class=\"title\">" . strtoupper($current) . "</li></a>\n\n"; 
        } 
        echo '<li>'. $words . "</li>\n"; 
        $last = $current; 
    } 
    
    関連する問題