How can I sort an array by number of occurrence of its values?

后端 未结 4 422
暗喜
暗喜 2020-12-21 04:08

I have the following array:

$name_arr = array(\'raj\',\'raj\',\'ganesh\',\'rahul\',\'ganesh\',\'mayur\',\'raj\',\'rahul\');

I want to sort

4条回答
  •  旧时难觅i
    2020-12-21 04:39

    Simple way using array_count_values and arsort:-

    $array = array_count_values($name_arr); //get all occurrences of each values
    arsort($array);
    print_r($array);//print occurrences array
    $final_array = array();
    
    foreach($array as $key=>$val){ // iterate over occurrences array
      for($i=0;$i<$val;$i++){ //apply loop based on occurrences number
        $final_array[] = $key; // assign same name to the final array
      }
    }
    
    print_r($final_array); // print final array
    

    Output:- https://eval.in/847428

提交回复
热议问题