Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> [PHP] Najmniejsza wartość tablicy asocjacyjnej
motyl-pl
post
Post #1





Grupa: Zarejestrowani
Postów: 294
Pomógł: 31
Dołączył: 2.04.2010

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


Siemka, mam mały błachy problem otóż posiadam tablice asocjacyjną powiedzmy:

Kod
$godziny = '9.00,11.00,13.00,14.00,16.00';
$godziny_tablica = explode(",", $godziny);

$godzina_od = '12.00';
$godzina_do = '16.00';


I teraz tak chce znaleźć najmniejszą wartość z tablicy mieszczącą się od 12.00 do 16.00 (czyli powiedzmy że "13.00").
Jak to zrobić, bądź nakierujcie mnie jak możecie ?

Z góry dzięki biggrin.gif

Ten post edytował motyl-pl 11.09.2011, 17:12:09


--------------------
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi (1 - 4)
Crozin
post
Post #2





Grupa: Zarejestrowani
Postów: 6 476
Pomógł: 1306
Dołączył: 6.08.2006
Skąd: Kraków

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


1. Pod $godziny_tablica masz normalną tablicę numeryczną, nie asocjacyjną.
2. Pętla, przekonwertowanie tekstu na godzinę, sprawdzenie czy mieści się w podanych przedziałach, sprawdzenie czy jest mniejsza od najniższej odnalezionej jak dotychczas, jeśli tak to podmiana najniższej wartości. I tak dla wszystkich elementów tablicy.
Go to the top of the page
+Quote Post
kefirek
post
Post #3





Grupa: Zarejestrowani
Postów: 781
Pomógł: 256
Dołączył: 29.06.2008

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


  1. $godziny = '9.00,11.00,13.00,14.00,16.00';
  2. $godziny_tablica = explode(",", $godziny);
  3.  
  4. $godzina_od = '12.00';
  5. $godzina_do = '16.00';
  6.  
  7. $new_array = array();
  8. foreach($godziny_tablica AS $value){
  9. if($value >= $godzina_od && $value <= $godzina_do){
  10. $new_array[]=$value;
  11. }
  12. }
  13.  
  14.  
  15. echo min($new_array);
Go to the top of the page
+Quote Post
motyl-pl
post
Post #4





Grupa: Zarejestrowani
Postów: 294
Pomógł: 31
Dołączył: 2.04.2010

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


kefirek dziękuje bardzo =)

Jeszcze mam takie pytanko a jak zrobić żeby np jeszcze wykluczyć wynik powiedzmy:

  1. $godziny = '9.00,11.00,13.00,14.00,16.00';
  2. $godziny_tablica = explode(",", $godziny);
  3.  
  4. $godzina_od = '12.00';
  5. $godzina_do = '16.00';
  6.  
  7. $new_array = array();
  8. foreach($godziny_tablica AS $value){
  9. if($value >= $godzina_od && $value <= $godzina_do){
  10. $new_array[]=$value;
  11. }
  12. }
  13.  
  14.  
  15. echo min($new_array);
  16.  


Teraz wywali godzinę 13.00 ale jeśli chce by drugi wynik wyrzucało a nie pierwszy to jak to zrobić ? próbowałem w ten sposób:

  1. $godziny = '9.00,11.00,13.00,14.00,16.00';
  2. $godziny_tablica = explode(",", $godziny);
  3.  
  4. $godzina_od = '12.00';
  5. $godzina_do = '16.00';
  6.  
  7. $new_array = array();
  8. foreach($godziny_tablica AS $value){
  9. if($value >= $godzina_od && $value <= $godzina_do && $value != "13.00"){
  10. $new_array[]=$value;
  11. }
  12. }
  13.  
  14.  
  15. echo min($new_array);
  16.  


Ale coś nie bardzo mi to wychodzi :|


--------------------
Go to the top of the page
+Quote Post
kefirek
post
Post #5





Grupa: Zarejestrowani
Postów: 781
Pomógł: 256
Dołączył: 29.06.2008

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


  1. echo $new_array[0].'</br>'; // wartosc najmniejsza
  2. echo $new_array[1].'</br>'; // wartosc druga
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 Aktualny czas: 20.08.2025 - 02:38