Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

 
Reply to this topicStart new topic
> Explode tablicy
LamaMASTER
post 11.07.2006, 11:11:43
Post #1





Grupa: Zarejestrowani
Postów: 160
Pomógł: 0
Dołączył: 27.03.2006

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


Witam,
Od wczoraj męczę się ze stworzeniem czegoś takiego:
Mam sobie string np.:
Johny|Admin|johny@o2.pl,Lol|Redaktor|redakcja@o2.pl
i chcę, aby wyświetliło się:
- johny@o2.pl - Johny (stanowisko: Admin)
- redakcja@o2.pl - Lol (stanowisko: Redaktor)
Wymyśliłem:
  1. <?php
  2. $array = 'mój string';
  3. $array = explode(',', $array);
  4.  
  5. for ($i = 0, $n = count($array); $i < $n; $i++) {
  6. $kontakt[$i] = explode('|', $array[$i]);
  7. }
  8.  
  9.  
  10. $imie = $kontakt[0];
  11. $stanowisko = $kontakt[1];
  12. $email = $kontakt[2];
  13.  
  14. $content = '';
  15. for ($i = 0, $n = count($kontakt); $i < $n; $i++) {
  16. $content .= ' - '.$email[$i].' - '.$imie[$i].' (stanowisko: '.$stanowisko[$i].') <br />';
  17. }
  18. echo $content;
  19. ?>

Myślałem, że będzie git, ale niestety wynik nie jest taki jak się spodziewałem. A praktycznie nie ma się co dziwić. W pierwszej pętli exploduję $array, która zawiera póki co tylko 2 osoby po przecinku, więc $n wynosi 2, a ja próbowałem wyciągnąć z niej $i. Dalej to wygląda tak, że mi pobiera na zmianę po prostu z tych dwóch tablic i wychodzi kaszanka - $imie zawiera imię i stanowisko, stanowisko zawiera drugie stanowisko i imię, a $email nic dopóki nie dodałbym $n ++ na początku pętli.
Wina leży więc po stronie pierwszej pętli, gdzie źle to skonstruowałem.
Ma ktoś na to jakiś pomysł? smile.gif
Go to the top of the page
+Quote Post
kwiateusz
post 11.07.2006, 11:19:58
Post #2


Admin Techniczny


Grupa: Administratorzy
Postów: 2 071
Pomógł: 93
Dołączył: 5.07.2005
Skąd: Olsztyn




patrzac po tej petli to kontakt staje się chyba tablicą 2 wymiarową ... wystarczy dać print_r na $kontakt winksmiley.jpg

  1. <?php
  2. $array = 'Johny|Admin|johny@o2.pl,Lol|Redaktor|redakcja@o2.pl';
  3. $array = explode(',', $array);
  4.  
  5. for ($i = 0, $n = count($array); $i < $n; $i++) {
  6. $kontakt[$i] = explode('|', $array[$i]);
  7. }
  8.  
  9. $content = '';
  10. for ($i = 0, $n = count($kontakt); $i < $n; $i++) {
  11. $content .= ' - '.$kontakt[$i][2].' - '.$kontakt[$i][0].' (stanowisko: '.$kontakt[$i][1].') <br />';
  12. }
  13. echo $content;
  14. ?>
Go to the top of the page
+Quote Post
LamaMASTER
post 11.07.2006, 12:03:02
Post #3





Grupa: Zarejestrowani
Postów: 160
Pomógł: 0
Dołączył: 27.03.2006

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


Działa winksmiley.jpg Dziękuję.
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: 19.07.2025 - 20:34