Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

 
Reply to this topicStart new topic
> [PHP] Usuwanie ostatniego znaku z ciągu
EdeusEx
post 1.11.2008, 14:56:26
Post #1





Grupa: Zarejestrowani
Postów: 49
Pomógł: 1
Dołączył: 6.04.2008

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


  1. <?php
  2. for ($i=0; $i<10; $i++) {
  3.    $list .= $pole[$i].',';
  4. }
  5. ?>

Jest sobie takie coś, tak? Jak po wykonaniu pętlu, z tego $list usunąć przecinek na końcu?
Go to the top of the page
+Quote Post
l0ud
post 1.11.2008, 15:24:57
Post #2





Grupa: Zarejestrowani
Postów: 1 387
Pomógł: 273
Dołączył: 18.02.2008

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


Ja to robię tak:

  1. <?php
  2. $var = substr($var,0,strlen($var)-1);
  3. ?>


Aczkolwiek chętnie poznałbym lepszą metodę smile.gif


--------------------
XMPP: l0ud@chrome.pl
Go to the top of the page
+Quote Post
zegarek84
post 1.11.2008, 16:02:53
Post #3





Grupa: Zarejestrowani
Postów: 1 332
Pomógł: 294
Dołączył: 12.10.2008
Skąd: Olkusz

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


może nie lepszy ale jednak zawsze można kombinować ;p

kolejny nie optymalny co prawda sposób to sprawdzanie w pętli czy to nie jest ostatni krok i wstawianie przecinka warunkowo:
($i==9)?'':',';

następny to skrócenie pętli o jeden krok i dodanie ostatniego kroku poza pętlą już bez przecinka - bardziej optymalne od wstawiania warunkowego - choć raczej mniej optymalne niż przycięcie ostatniego znaku ;p - ogólnie każda droga dobra o ile prowadzi do celu - inna sprawa to optymalne rozwiązanie ;p


--------------------
Jeśli twoja ręka rusza do przodu powstrzymaj swój gniew; gdy wyprzedza cię twój gniew - wycofaj rękę.

Go to the top of the page
+Quote Post
empathon
post 1.11.2008, 16:24:27
Post #4





Grupa: Zarejestrowani
Postów: 246
Pomógł: 31
Dołączył: 13.11.2006
Skąd: się znamy?

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


Cytat(l0ud @ 1.11.2008, 15:24:57 ) *
Ja to robię tak:

  1. <?php
  2. $var = substr($var,0,strlen($var)-1);
  3. ?>


Aczkolwiek chętnie poznałbym lepszą metodę smile.gif

Można też np. tak:
  1. <?php
  2. $string[strlen($string)-1] = NULL;
  3. ?>


--------------------
Goldenline: Łukasz Rodziewicz
Go to the top of the page
+Quote Post
Tibod
post 1.11.2008, 16:36:32
Post #5





Grupa: Zarejestrowani
Postów: 108
Pomógł: 2
Dołączył: 9.05.2007
Skąd: INTERNET

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


Można jeszcze tak

  1. <?php
  2. $list=rtrim($lista, ',')
  3. ?>


--------------------
"There are only 10 types of people in the world: Those who understand binary, and those who don't"
Go to the top of the page
+Quote Post
lukio
post 23.10.2009, 10:35:53
Post #6





Grupa: Zarejestrowani
Postów: 6
Pomógł: 0
Dołączył: 14.05.2006
Skąd: Bydgoszcz

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


$string = 'abcdef';
$new_string = substr($string, 0, -1);

W efekcie otrzymamy:
$new_string = 'abcde';
Go to the top of the page
+Quote Post
thek
post 23.10.2009, 10:46:51
Post #7





Grupa: Moderatorzy
Postów: 4 362
Pomógł: 714
Dołączył: 12.02.2009
Skąd: Jak się położę tak leżę :D




Tibod podaje najskuteczniejsze rozwiązanie. Nie wiecie bowiem czy ten przecinek istnieje czy nie. A operując na strstr możecie wyciąc potrzebny znak. Ja w sumie jeszcze przed rtrim zrobiłbym ogólnie trim by się ewentualnych białych znaków pozbyć z przodu i tyłu. Jeśli jednak tylko z tyłu wycinka to poszerzyłbym listę usuwanych znaków o wszystkie niedrukowalne, czyli wymienione w manualu do rtrim smile.gif


--------------------
Najpierw był manual... Jeśli tam nie zawarto słów mądrości to zapytaj wszechwiedzącego Google zadając mu własciwe pytania. A jeśli i on milczy to Twój problem nie istnieje :D
Go to the top of the page
+Quote Post
zegarek84
post 26.10.2009, 02:19:38
Post #8





Grupa: Zarejestrowani
Postów: 1 332
Pomógł: 294
Dołączył: 12.10.2008
Skąd: Olkusz

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


Cytat(thek @ 23.10.2009, 10:46:51 ) *
Tibod podaje najskuteczniejsze rozwiązanie. Nie wiecie bowiem czy ten przecinek istnieje czy nie. A operując na strstr możecie wyciąc potrzebny znak.

sorki za oftop przy tak staryyyym temacie ;p - ale nie ja odgrzebałem - i wiemy, że ten przecinek istnieje na końcu czytając pierwszy post i sposób jego wstawiania ;p - pozdro winksmiley.jpg


--------------------
Jeśli twoja ręka rusza do przodu powstrzymaj swój gniew; gdy wyprzedza cię twój gniew - wycofaj rękę.

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: 14.07.2025 - 12:06