Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: Explode tablicy
Forum PHP.pl > Forum > PHP
LamaMASTER
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
kwiateusz
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. ?>
LamaMASTER
Działa winksmiley.jpg Dziękuję.
To jest wersja lo-fi głównej zawartości. Aby zobaczyć pełną wersję z większą zawartością, obrazkami i formatowaniem proszę kliknij tutaj.
Invision Power Board © 2001-2025 Invision Power Services, Inc.