doudongfu8006
2018-03-05 10:57 阅读 97
已采纳

用逗号分隔的字符串变量中的数字排序

I have the following string

$ickkcids = "120,176,182,120,182,207,176,120,182,118,120,176";

I want to display it in a ascending ordered, like below.

118(1) //118 is the lowest integer so it comes first.
120(4)
176(3)
182(3)
207(1) //207 is the highest integer so it comes last.

This is what im doing

$array = explode(',', $ickkcids); 
        sort($array); 
        foreach($array as $arraye)
        {
            $html .= $arraye.'<br />';
        }

But this returns all numbers in ascending order and i don't know how to count in this.

Any idea how to achieve this?

  • 点赞
  • 写回答
  • 关注问题
  • 收藏
  • 复制链接分享

1条回答 默认 最新

  • 已采纳
    dqemld0515 dqemld0515 2018-03-05 11:08

    I support all above comments.First try your self, then ask a question.

    Any way @OITE OMAN, you can try this code for your question:

    $str = "120,176,182,120,182,207,176,120,182,118,120,176";
    $array = explode(",",$str);
    asort($array, SORT_NUMERIC);
    $latest_array = array_count_values($array);
    print_r($latest_array);
    foreach($latest_array as $key=>$value){
    echo $key."(".$value.")";
    echo "</br>"; 
    }
    

    Output:

    118(1)
    120(4)
    176(3)
    182(3)
    207(1)
    
    点赞 评论 复制链接分享

相关推荐