Diana95
Новичок
Написание тестов PHPUnit для программы на формирование массивов:
Программа выполняет формирование массива из данных другого массива и группирует по полям, указанных вот тут $groups = array( 'id', 'name', 'city'). Прошу помочь, можете кидать любые тесты хоть самые простые всё равно. Заранее спасибо!
PHP:
<?php
$array= array(
0=>array("name"=>"Ivan", 'id'=>5, 'city' => 'Piter'),
1=>array("name"=>"Ivan", 'id'=>10, 'city' => 'Moscow'),
2=>array("name"=>"Sergei", 'id'=>3, 'city' => 'Piter'),
3=>array("name"=>"Ivan", 'id'=>4, 'city' => 'Piter'));
$groups = array( 'id', 'name', 'city');
$newarray = resort($array, $groups);
echo '<pre>' . print_r($newarray,1) . '</pre>';
function GroupAndSort($array, $name){
$result = array();
foreach($array as $element){
if(isset($element[$name]))
$result[$element[$name]][] = $element;
else
$result[][] = $element;
}
krsort($result);
return $result;
}
function resort($array, $groups){
if(empty($groups))
return $array;
$group = array_pop($groups);
$result = GroupAndSort($array, $group);
foreach($result as $key => $subarray)
$result[$key] = resort($subarray, $groups);
return $result;
}
?>