Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

 
Reply to this topicStart new topic
> [php] pobieranie największej wartości
ewela_n
post 16.04.2008, 19:46:42
Post #1





Grupa: Zarejestrowani
Postów: 63
Pomógł: 0
Dołączył: 29.03.2005

Ostrzeżenie: (10%)
X----


witam,

  1. <?php
  2. for($i=0; $i<count;$i++) 
  3. {
  4. if ($days_increase <= $lastminute_array[$i]['days'] && $days_increase > $lastminute_array[$i+1]['days'] )
  5.  {
  6. $lastminute = $lastminute_array[$i]['lastminute_value'];
  7. break;
  8. }
  9.  
  10. }
  11.  
  12. $lastminute = $lastminute_array[$i]['lastminute_value'];
  13. ?>

Po tym wylicza mi wszystkie rabaty w zaleźności od dni i wylicza ją na podstawie ostatniego rabatu.
Jak z tego skrypt wyciągnąć największy rabat, czyli max wartość ?

Ten post edytował ewela_n 18.04.2008, 19:20:41
Powód edycji: zmieniłem temat (cysiaczek)
Go to the top of the page
+Quote Post
Cysiaczek
post 16.04.2008, 19:48:06
Post #2





Grupa: Moderatorzy
Postów: 4 465
Pomógł: 137
Dołączył: 26.03.2004
Skąd: Gorzów Wlkp.




Zamykam - topik zostanie ponownie otwarty po przysłaniu poprawnego tematu na PW do któregoś z moderatorów i obietnicy dodanie bbcode


--------------------
To think for yourself you must question authority and
learn how to put yourself in a state of vulnerable, open-mindedness;
chaotic, confused, vulnerability, to inform yourself.
Think for yourself. Question authority.
Go to the top of the page
+Quote Post
Maciekbjw
post 16.04.2008, 20:02:43
Post #3





Grupa: Zarejestrowani
Postów: 217
Pomógł: 23
Dołączył: 2.12.2007
Skąd: Warszawa

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


No to prosty algorytm na wyszukiwanie największej wartości w tablicy.

  1. <?php
  2. $liczby = array('1','2','3','4','5','6','7','8'); //tablica
  3.  
  4. $max = $liczby[0]; 
  5.  
  6. for($i;$i<8; $i++)
  7. {
  8. if($liczby[$i] > $max) 
  9. {
  10. $max = $liczby[$i];
  11. }
  12. }
  13. echo $max;
  14. ?>


Powinno działać, pisane z palca.
//edit

Sorry, napisałem $max = $tablica[1] a to takie szkolne pascalowskie przyzwyczajenie biggrin.gif, oczywiscie tablice w PHP numerujemy od 0

Ten post edytował Maciekbjw 16.04.2008, 20:04:53


--------------------
Masz swoje mieszkanie i chcesz je wynająć? Sprawdź ofertę Zarzadządzanie Najmem

WRONA.IT - pozycjonowanie stron
www.ecyklopedia.pl
Go to the top of the page
+Quote Post
Cysiaczek
post 18.04.2008, 10:53:12
Post #4





Grupa: Moderatorzy
Postów: 4 465
Pomógł: 137
Dołączył: 26.03.2004
Skąd: Gorzów Wlkp.




Otwieram, bo dostałem maila - czekam jeszcze na bbcode


--------------------
To think for yourself you must question authority and
learn how to put yourself in a state of vulnerable, open-mindedness;
chaotic, confused, vulnerability, to inform yourself.
Think for yourself. Question authority.
Go to the top of the page
+Quote Post
ewela_n
post 18.04.2008, 12:45:21
Post #5





Grupa: Zarejestrowani
Postów: 63
Pomógł: 0
Dołączył: 29.03.2005

Ostrzeżenie: (10%)
X----


witam,

  1. <?php
  2. for($i=0; $i<count;$i++)
  3. {
  4. if ($days_increase <= $lastminute_array[$i]['days'] && $days_increase > $lastminute_array[$i+1]['days'] )
  5. {
  6. $lastminute = $lastminute_array[$i]['lastminute_value'];
  7. break;
  8. }
  9.  
  10. }
  11.  
  12. $lastminute = $lastminute_array[$i]['lastminute_value'];
  13. ?>


Po tym wylicza mi wszystkie rabaty w zaleźności od dni i wylicza ją na podstawie ostatniego rabatu.
Jak z tego skrypt wyciągnąć największy rabat, czyli max wartość ?
Go to the top of the page
+Quote Post
Cysiaczek
post 18.04.2008, 14:57:16
Post #6





Grupa: Moderatorzy
Postów: 4 465
Pomógł: 137
Dołączył: 26.03.2004
Skąd: Gorzów Wlkp.




Ostatni raz proszę - dodaj bbcode w pierwszym poście


--------------------
To think for yourself you must question authority and
learn how to put yourself in a state of vulnerable, open-mindedness;
chaotic, confused, vulnerability, to inform yourself.
Think for yourself. Question authority.
Go to the top of the page
+Quote Post
nospor
post 18.04.2008, 15:00:24
Post #7





Grupa: Moderatorzy
Postów: 36 557
Pomógł: 6315
Dołączył: 27.12.2004




  1. <?php
  2. $max = null;
  3. for($i=0; $i<count;$i++)
  4. {
  5. if ($days_increase <= $lastminute_array[$i]['days'] && $days_increase > $lastminute_array[$i+1]['days'] )
  6. {
  7. $lastminute = $lastminute_array[$i]['lastminute_value'];
  8. if ($max === null || $lastminute > $max)
  9. $max = $lastminute;
  10. break;
  11. }
  12.  
  13. }
  14. echo $max;
  15. ?>


--------------------

"Myśl, myśl, myśl..." - Kubuś Puchatek || "Manual, manual, manual..." - Kubuś Programista
"Szukaj, szukaj, szukaj..." - Kubuś Odkrywca || "Debuguj, debuguj, debuguj..." - Kubuś Developer

Go to the top of the page
+Quote Post
ewela_n
post 18.04.2008, 18:12:58
Post #8





Grupa: Zarejestrowani
Postów: 63
Pomógł: 0
Dołączył: 29.03.2005

Ostrzeżenie: (10%)
X----


nic z tego nie wyszło sad.gif
po tej pętli wychodzi rabat równy ostatniej pozycji, w tym wypadku najniższy. Być może można te wyniki zapisać w odwrotnej kolejności? wtedy ta najwyższa wartość wyświetlałaby się na końcu?
Go to the top of the page
+Quote Post
ewela_n
post 18.04.2008, 19:04:15
Post #9





Grupa: Zarejestrowani
Postów: 63
Pomógł: 0
Dołączył: 29.03.2005

Ostrzeżenie: (10%)
X----


nie działa sad.gif
a może można zrobić tak, by wyświetlał tylko 1 wartość ?
Go to the top of the page
+Quote Post
kosmos
post 19.04.2008, 00:08:04
Post #10





Grupa: Zarejestrowani
Postów: 367
Pomógł: 17
Dołączył: 4.03.2008

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


Jest taka funcja która sortuje tablice od największej do najmniejszej wartości według np: ilości jakiejś zmiennej

Kod
array_multisort($ile, SORT_DESC, $_SESSION['tablica']);


tu po kolei

Kod
$ile

wartosc w tablicy według której sortujemy
Kod
SORT_DESC

argument funkcji dzięki któremu sortujemy od największej wartości do najmniejszej

i ostatnim argumantem jest tablica w moim przypadku sesyjna ale to bez znaczenia.

Teraz jeżeli chcesz wyciągnąć największą wartośćz tablicy, to będzie ona pod pierwszym indeksem danej tablicy czyli
Kod
$tablica[0][ilosc];
Go to the top of the page
+Quote Post
ewela_n
post 19.04.2008, 13:19:08
Post #11





Grupa: Zarejestrowani
Postów: 63
Pomógł: 0
Dołączył: 29.03.2005

Ostrzeżenie: (10%)
X----


po tej pętli:
  1. <?php
  2. for($i=1; $i<=2;$i++) 
  3. {
  4. if ($days_increase <= $lastminute_array[$i]['days'] && $days_increase > $lastminute_array[$i+1]['days'])
  5. {
  6. $lastminute = $lastminute_array[$i]['lastminute_value'];
  7. break;
  8. }
  9.  
  10. }
  11. ?>

wypisuje mi na ekraniei wartości od największej do najmniejszej, i wg tej ostatniej liczy sumę.
Więc tu moje pytanie:
jak tą pętlę zmodyfikować by pokazywała wartości w odwrotną stronę i wtedy policzy wg tej najwyższej.
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: 16.07.2025 - 19:14