fork download
  1. <?php
  2.  
  3. function calculate_stars($max, $rating){
  4. $full_stars=floor($rating);
  5. $half_stars = ceil($rating-$full_stars);
  6. $gray_stars = $max-($full_stars + $half_stars);
  7. return array ($full_stars, $half_stars, $gray_stars);
  8. }
  9.  
  10. function display_star($rating){
  11. $output="";
  12. $number_stars = calculate_stars(5,$rating);
  13. $full = $number_stars[0];
  14. $half = $number_stars[1];
  15. $gray = $number_stars[2];
  16. $output ='<ul class="star-rating">';
  17. if($gray)
  18. for ($i=0;$i<$gray;$i++)
  19. {
  20. $output .= '<li class="star-icon">&#9734;</li>';
  21. }
  22.  
  23. if($half){
  24. $output .= '<li class="star-icon half">&#9734;</li>';
  25. }
  26.  
  27. if($full){
  28. for($i=0; $i<$full;$i++)
  29. {
  30. $output .= '<li class="star-icon full">&#9734;</li>';
  31. }
  32. }
  33.  
  34. $output .='</ul>';
  35. return $output;
  36.  
  37. }
  38.  
  39. echo display_star(2.5);
  40.  
  41.  
Success #stdin #stdout 0.02s 82880KB
stdin
Standard input is empty
stdout
<ul class="star-rating"><li class="star-icon">&#9734;</li><li class="star-icon">&#9734;</li><li class="star-icon half">&#9734;</li><li class="star-icon full">&#9734;</li><li class="star-icon full">&#9734;</li></ul>