Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> [PHP]Czy to nie to samo ? foreach - for ?, porównanie kawałków dwóch zapisów for i foreach
uczeń php
post
Post #1





Grupa: Zarejestrowani
Postów: 159
Pomógł: 0
Dołączył: 8.01.2010

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


Oto jeden kawałek kodu
  1. for($num_i = 0; $num_i < count($tabss); $num_i++) {
  2. for($indeksy = 0; $indeksy < count($tabss[$num_i]); $indeksy++) {
  3. echo $tabss[$num_i][$indeksy].'<br />'; }
  4. }

Oto drugi kawałek kodu
  1. foreach($tabss as $ser)
  2. foreach($ser as $str)
  3. echo $str;

i z punktu logicznego mogłoby się wydawać, że to jest jedno i to samo a jednak nie gdyż za pierwszym razem wyświetla mi dwie pierwsze wartości z tablicy pierwszej i pierwszą wartość z tablicy drugiej. Natomiast drugi kawałek kodu wyświetla mi wszystkie wartości w obu tablicach. Czy ktoś mógłby wytłumaczyć, dlaczego? A po za tym zależy mi na udoskonaleniu tego pierwszego zapisu, żeby i również w nim były wyświetlane wszystkie wartości z tablicy dwuwymiarowej.
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi
flashdev
post
Post #2





Grupa: Zarejestrowani
Postów: 812
Pomógł: 117
Dołączył: 2.12.2008

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


Cytat(uczeń php @ 27.10.2010, 17:23:15 ) *
W nie których miejscach gdzie są powinne być wartości jest null - pierwszy kawałek kodu a drugim są normalne wartosci dlaczego ?


  1. <?php
  2.  
  3. $tab = array(1, 2, 3, 'abc' => 4, 'def' => 5);
  4.  
  5. var_dump($tab);
  6. echo "\n";
  7.  
  8. for( $i = 0; $i < count($tab); $i++ ){
  9. echo '$tab['. $i .'] = '. $tab[$i] ."\n";
  10. }
  11.  
  12. echo "\n";
  13.  
  14. foreach( $tab as $key => $value){
  15. echo '$tab['. $key .'] = '. $value ."\n"; // $tab[$key] == $value
  16. }
  17.  
  18. fgets(STDIN);


Może teraz lepiej widać o co chodzi.
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: 7.10.2025 - 11:47