сходил сегодня на собеседование. Со мной побеседовали. Дали тестик (который был убер легким).
ПРишел домой- дали простое ТЗ:
есть файл data.txt
Цитата |
id name surname grade position 0 Vasya Petrov 3 manager 1 Petya Ivanov 5 seo 2 Masha Vasileva 3 designer 3 Roma Sidorov 5 programmer 4 Ivan Lobanov 4 manager 5 Vasya Nazarov 3 manager 6 Petya Samarin 5 seo 7 Masha Baeva 3 designer 8 Nikita Sidorov 5 programmer 9 Ivan Gromov 4 manager |
<?php
error_reporting(-1);
$cats=array();
$all=array(array());
$result=array();
$var=null;
$grades_res=Array();
function wtf($array){
echo '<pre>'.print_r($array,1).'</pre>';
}
$file=fopen('data.txt','r');
for($i=0;!feof($file);$i++){
$get_string=fgets($file);
if($i==0)
$cats=str_replace("\r\n",'',explode(' ',$get_string));
else{
for($z=0;$z<count($result=str_replace("\r\n",'',explode(' ',$get_string)));$z++)
$all[$i-1][$cats[$z]]=$result[$z];
if(!isset($grades_res[$all[$i-1]['position']])){
$grades_res[$all[$i-1]['position']][0]=$all[$i-1]['grade'];
$grades_res[$all[$i-1]['position']][1]=1;
}
else{
$grades_res[$all[$i-1]['position']][0]+=$all[$i-1]['grade'];
$grades_res[$all[$i-1]['position']][1]++;
}
}
$result=null;
}
for($i=0;$i<count($all);$i++){
if(isset($all[$i+1]['grade']) && $all[$i]['grade']<$all[$i+1]['grade']){
$var=$all[$i];
$all[$i]=$all[$i+1];
$all[$i+1]=$var;
$i=0;
}
}
wtf($all,1); //вывод сортировки по убыванию значения grade
for($i=count($all)-1;$i>=0;$i--){
if($all[$i]['grade']>3){
wtf($all[$i]);//Отсортировать данные по возрастанию значения grade и вывести данные на экран только тех у кого grade более 3
}
}
foreach($grades_res AS $key=>$val){
echo $key.'=>'.$grades_res[$key][0]/$grades_res[$key][1].'<br>';////Вывести средние значения показателя grade по всем position
}