PageRenderTime 40ms CodeModel.GetById 14ms RepoModel.GetById 0ms app.codeStats 1ms

/ICGI/sorter.php

http://monday1705.googlecode.com/
PHP | 56 lines | 42 code | 13 blank | 1 comment | 4 complexity | c71e91d1fcd687d7d9c3725cda347ccc MD5 | raw file
  1. <?php
  2. ob_start();
  3. //header("Content-Type: text/plain");
  4. $wyn = file_get_contents('wyn');
  5. $ind = strpos($wyn,']]')+2;
  6. $plany_tmp = explode('[',trim(substr($wyn,0,$ind)));
  7. $deficyty_tmp = explode('[',trim(substr($wyn,$ind)));
  8. $plany = array(); $deficyty = array();
  9. foreach($plany_tmp as $plan) {
  10. $plan = trim($plan);
  11. if(empty($plan)) continue;
  12. $plany[] = $plan;
  13. }
  14. foreach($deficyty_tmp as $deficyt) {
  15. $deficyt = trim($deficyt);
  16. if(empty($deficyt)) continue;
  17. $deficyty[] = $deficyt;
  18. }
  19. $size = min(count($deficyty),count($plany));
  20. $data = array();
  21. function porowanie($a,$b){
  22. if( @$a['val'] > $b['val'] ) return 1;
  23. elseif( @$a['val'] < $b['val'] ) return -1;
  24. return 0;
  25. }
  26. for($i=0;$i<$size;$i++){
  27. $deficyt_str = substr($deficyty[$i],0,strpos($deficyty[$i],']'));
  28. $deficyt = explode(', ', $deficyt_str);
  29. $deficytabs = array_map('abs',array_map('trim',$deficyt));
  30. $data[] = array(
  31. 'plan' => '[' . substr($plany[$i],0,strpos($plany[$i],']')) . ']',
  32. 'deficyt' => '[' . $deficyt_str . ']',
  33. 'val' => array_sum($deficytabs)/count($deficytabs)
  34. );
  35. }
  36. function proj_plan($el){ return $el['plan']; }
  37. function proj_deficyt($el){ return $el['deficyt']; }
  38. $def = array_map('proj_deficyt',$data);
  39. $pla = array_map('proj_plan',$data);
  40. $def_str = '['.implode(', ',$def).']';
  41. $pla_str = '['.implode(', ',$pla).']';
  42. ob_end_clean();
  43. echo $pla_str,$def_str;