Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> [PHP]Jak uprościć pętle dla tablicy
Malinaa
post
Post #1





Grupa: Zarejestrowani
Postów: 577
Pomógł: 6
Dołączył: 21.07.2008

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


Witam,
mam taką pętle i tablice

  1. $limit = 0;
  2. foreach ($array as $klucz => $wartosc) {
  3. if ($limit < 3) {
  4. $link = $array_url[$klucz];
  5. $title = $array_title[$klucz];
  6.  
  7. echo "<li><a href=\"".$link."\">".$title ."</a></li>";
  8.  
  9. $limit ++;
  10. }
  11. else break; // Limit petli
  12. }


i mam pytanie.

Jak uprościć pętle, albo jakiej pętli użyć, aby ograniczyć wyświetlanie danych do trzech pierwszych kluczy, przy czym wartość kluczy może być w każdej chwili różna. Czy można to zrobić bez zmiennej $limit i jak pozbyć się z pętli wartości $wartosc?
Wewnątrz pętli potrzebne są tylko wartości kluczy $klucz.

Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi
peter13135
post
Post #2





Grupa: Zarejestrowani
Postów: 1 447
Pomógł: 191
Dołączył: 26.03.2008

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


ten sposób wydaje mi się nieoptymalny, ponieważ "array_keys($tablica_ocena_srednia)" jest odpalane za każdym "przelotem" pętli (poprawcie jeśli się mylę).
jak nie chcesz mieć limit, to daj for($i=0; $i<3; $i++)

Ten post edytował peter13135 4.10.2011, 13:44:26
Go to the top of the page
+Quote Post
phpion
post
Post #3





Grupa: Moderatorzy
Postów: 6 072
Pomógł: 861
Dołączył: 10.12.2003
Skąd: Dąbrowa Górnicza




Cytat(peter13135 @ 4.10.2011, 14:35:08 ) *
ten sposób wydaje mi się nieoptymalny, ponieważ "array_keys($tablica_ocena_srednia)" jest odpalane za każdym "przelotem" pętli (poprawcie jeśli się mylę).

Zatem poprawiam Cię. Sprawdź to:
  1. function my_array_keys(array $array) {
  2. echo 'Go!';
  3.  
  4. return array_keys($array);
  5. }
  6.  
  7. $array = array(1, 2, 3);
  8.  
  9. foreach (my_array_keys($array) as $item) {};
Go to the top of the page
+Quote Post

Posty w temacie


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

 



RSS Aktualny czas: 4.10.2025 - 19:25