Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

 
Reply to this topicStart new topic
> [php] Ciąg znaków, Dodawanie ciągu znaków
pixo
post
Post #1





Grupa: Zarejestrowani
Postów: 8
Pomógł: 0
Dołączył: 4.03.2009

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


Witam,
Nie mogę sobie poradzić z następującym dodawaniem ciągów:
  1. $a='jeden/dwa/trzy';
  2. $b=explode("/", $a);
  3. $ilosc_wystapien = count($b); // wynik 3

mogę teraz dostać się do danych w ten sposób:
  1. $a1 = $b[0]; // wynik: 'jeden'
  2. $a2 = $b[1]; // wynik: 'dwa'
  3. $a3 = $b[2]; // wynik: 'trzy'

Chciałbym teraz otrzymać trzy zmienne z takimi wynikami:

wynik1: 'jeden';
wynik2: 'jeden/dwa';
wynik3: 'jeden/dwa/trzy';

a ostatecznie zmienną z wynikiem: 'jeden|jeden/dwa|jeden/dwa/trzy'

Pewnie jest to proste rozwiązanie, ale chyba przechodzę przesilenie jesienne wink.gif i proszę o wyrozumiałość.

Z góry dzięki za pomoc!
Go to the top of the page
+Quote Post
piotrooo89
post
Post #2


Newsman


Grupa: Moderatorzy
Postów: 4 005
Pomógł: 548
Dołączył: 7.04.2008
Skąd: Trzebinia/Kraków




  1. $a = 'jeden/dwa/trzy';
  2. $b = explode("/", $a);
  3. $ilosc_wystapien = count($b); // wynik 3
  4.  
  5. $wyn[] = $b[0];
  6. $wyn[] = $b[0].'/'.$b[1];
  7. $wyn[] = implode('/', $b);
  8.  
  9. echo implode('|',$wyn);


--------------------
Go to the top of the page
+Quote Post
pixo
post
Post #3





Grupa: Zarejestrowani
Postów: 8
Pomógł: 0
Dołączył: 4.03.2009

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


Dzięki serdeczne smile.gif

Jeszcze jedno pytanko. A jeżeli $ilosc_wystapien zmienia się w pętli?...


Ten post edytował pixo 20.10.2011, 14:32:20
Go to the top of the page
+Quote Post
piotrooo89
post
Post #4


Newsman


Grupa: Moderatorzy
Postów: 4 005
Pomógł: 548
Dołączył: 7.04.2008
Skąd: Trzebinia/Kraków




Cytat(pixo @ 20.10.2011, 15:19:57 ) *
Jeszcze jedno pytanko. A jeżeli $ilosc_wystapien zmienia się w pętli?...


No to co? Bo nie rozumiem, zmienia się i co?


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





Grupa: Zarejestrowani
Postów: 8
Pomógł: 0
Dołączył: 4.03.2009

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


Chodzi mi o to, że przy kolejnym przejściu pętli zmienna $a będzie już miała 5 wartości np:

  1. $a = 'jeden/dwa/trzy/cztery/pięć';
Go to the top of the page
+Quote Post
piotrooo89
post
Post #6


Newsman


Grupa: Moderatorzy
Postów: 4 005
Pomógł: 548
Dołączył: 7.04.2008
Skąd: Trzebinia/Kraków




To zerują ją po każdym przebiegu.


--------------------
Go to the top of the page
+Quote Post
pixo
post
Post #7





Grupa: Zarejestrowani
Postów: 8
Pomógł: 0
Dołączył: 4.03.2009

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


Oj, chyba ta jesień naprawdę źle na mnie działa, skoro nawet nie umiem wytłumaczyć o co mi chodzi arrowheadsmiley.png

  1. $wyn[] = $b[0];
  2. $wyn[] = $b[0].'/'.$b[1];
  3. $wyn[] = implode('/', $b);


Co mam wyzerować, skoro ostatnią daną z tablicy $b[] jest wartość 'dwa'? Następnie do tablicy $wyn[] dodajesz całość tablicy $b[] i implodujesz.
A jeżeli jeszcze będzie wartość 'cztery' w tablicy b[], to kod nie będzie działał uniwersalnie, bo dorzuci go tylko w ostatniej linii.

Wynik będzie taki:
'jeden|jeden/dwa|jeden/dwa/trzy/cztery'
A powinien być taki:
'jeden|jeden/dwa|jeden/dwa/trzy|jeden/dwa/trzy/cztery'

Przykład

  1. $wyn[] = $b[0];
  2. $wyn[] = $b[0].'/'.$b[1];
  3. $wyn[] = $b[0].'/'.$b[1].'/'.$b[2];
  4. $wyn[] = $b[0].'/'.$b[1].'/'.$b[2].'/'.$b[3]; //itd..
  5. $wyn[] = implode('/', $b);
  6.  


Ja chciałem zastosować go w pętli, ale za Chiny nie wiem jak to zrobić, a siedzę już nad tym chyba z 4 godziny...
Help me smile.gif

Ten post edytował pixo 20.10.2011, 16:15:24
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: 21.08.2025 - 05:37