Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [php] Ciąg znaków
Forum PHP.pl > Forum > Przedszkole
pixo
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!
piotrooo89
  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);
pixo
Dzięki serdeczne smile.gif

Jeszcze jedno pytanko. A jeżeli $ilosc_wystapien zmienia się w pętli?...
piotrooo89
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?
pixo
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ęć';
piotrooo89
To zerują ją po każdym przebiegu.
pixo
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
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.