Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> [PHP]Utworzenie tablicy z powtarzającymi się elementami
arzach
post 9.02.2011, 14:17:30
Post #1





Grupa: Zarejestrowani
Postów: 332
Pomógł: 6
Dołączył: 27.11.2008

Ostrzeżenie: (0%)
-----


Witam mam taki kod
  1. function filter_values($value) {
  2. if($value > 1) return true;
  3. return false;
  4. }
  5.  
  6.  
  7.  
  8. $tab[2] = array('druzyna_id' => 2, 'punkty' => 2);
  9. $tab[4] = array('druzyna_id' => 4, 'punkty' => 2);
  10. $tab[5] = array('druzyna_id' => 5, 'punkty' => 1);
  11. $tab[7] = array('druzyna_id' => 7, 'punkty' => 4);
  12. $tab[10] = array('druzyna_id' => 10, 'punkty' => 4);
  13.  
  14.  
  15.  
  16.  
  17. foreach($tab AS $value){
  18. $punkty[$value['druzyna_id']] = $value['punkty'];
  19. }
  20.  
  21.  
  22. $punkty = array_count_values($punkty);
  23.  
  24. $punkty = array_filter($punkty, "filter_values");
  25.  
  26.  
  27. foreach($tab AS $value){
  28.  
  29. if(isset($punkty[$value['punkty']])){
  30. $new_array[$value['druzyna_id']] = $value['punkty'];
  31. }
  32. }
  33.  
  34.  
  35. echo '<pre>';
  36. print_r($new_array);
  37. echo '</pre>';

i potrzebuje by w tablicy punkty dostać

Array
(
[2] => 2
[4] => 2
[7] => 4
[10] => 4
)




Napisałem kod i działa tak jak chciałem. Ale czy można zrobić to prościej ? Proszę o pomoc.

?

Ten post edytował arzach 9.02.2011, 14:35:09
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi (1 - 2)
zordon
post 9.02.2011, 14:37:09
Post #2





Grupa: Zarejestrowani
Postów: 358
Pomógł: 78
Dołączył: 4.11.2008
Skąd: Kraków

Ostrzeżenie: (0%)
-----


Strasznie kombinowane, więc nie wiem czy o to Ci chodziło - ale wynik jest taki jak chciałeś smile.gif

  1. <?php
  2.  
  3. function filter_values($value) {
  4. if($value > 1) return true;
  5. return false;
  6. }
  7.  
  8.  
  9.  
  10. $tab[2] = array('druzyna_id' => 2, 'punkty' => 2);
  11. $tab[4] = array('druzyna_id' => 4, 'punkty' => 2);
  12. $tab[5] = array('druzyna_id' => 5, 'punkty' => 1);
  13. $tab[7] = array('druzyna_id' => 7, 'punkty' => 4);
  14. $tab[10] = array('druzyna_id' => 10, 'punkty' => 4);
  15.  
  16.  
  17.  
  18.  
  19. foreach($tab AS $value){
  20. if(!isset($punkty[$value['druzyna_id']])){
  21. $punkty[$value['druzyna_id']] = $value['punkty'];
  22. }else{
  23. $punkty[$value['druzyna_id']] += $value['punkty'];
  24. }
  25. }
  26.  
  27.  
  28. $punkty = array_filter($punkty, "filter_values");
  29.  
  30.  
  31.  
  32. echo '<pre>';
  33. print_r($punkty);
  34. echo '</pre>';
Go to the top of the page
+Quote Post
arzach
post 9.02.2011, 15:27:10
Post #3





Grupa: Zarejestrowani
Postów: 332
Pomógł: 6
Dołączył: 27.11.2008

Ostrzeżenie: (0%)
-----


Nie o to mi chodziło ma zwracać tablice z powtarzącymi się punktami które się nie powtarzają ma pomijać.


Ten post edytował arzach 9.02.2011, 15:27:17
Go to the top of the page
+Quote Post

Reply to this topicStart new topic
1 Użytkowników czyta ten temat (1 Gości i 0 Anonimowych użytkowników)
0 Zarejestrowanych:

 



RSS Wersja Lo-Fi Aktualny czas: 14.08.2025 - 08:50