Witam,
mam pewien problem do rozwiązania
polecenie brzmi :
Wypisz tablicę użytkowników(users) którzy mają więcej niż 6000 punktów. Pożądane jest zachowanie kluczy.
'id' => 17375,
'nick' => 'Aniela',
'points' => 5908,
'created' => '2009-09-26 14:41:47',
),
'id' => 20871,
'nick' => 'poziomka777',
'points' => 4804,
'created' => '2009-10-04 20:31:09',
),
'id' => 41787,
'nick' => 'doroo',
'points' => 8805,
'created' => '2009-11-02 17:07:48',
),
'id' => 13585,
'nick' => 'madzia333',
'points' => 8805,
'created' => '2009-09-11 21:46:21',
)
);
Wymyśliłem takie rozwiązanie ale zapewne jest jakieś prostsze. Mógłby ktoś podpowiedzieć jak zoptymalizować rozwiązanie tego zadania?
function wypisz_uzytkownikow2($uzytkownicy)
{
$new_users = array_values($uzytkownicy); // zamieniamy tablice na indeksowaną for($i=0;$i<count($new_users);$i++)
{
if($new_users[$i]['points']>6000) //wybieramy wiersze z odpowiednią ilością punktów
{
$new_users2[$i] = $new_users[$i]; // przypisujemy odpowiednie wiersze do nowej tablicy
}
}
return $new_users2;
}
$wynik = wypisz_uzytkownikow2($users);
$wynik2 = array_values($wynik); // usuwamy z nowej tablicy puste wiersze foreach($wynik2 as $result)
{
$key = $result['id']; // tworzymy klucz nowej tablicy asocjacyjnej
$users[$key]=$result; // w tablicy asocjacyjnej przypisujemy klucz i wartości
}