Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

 
Reply to this topicStart new topic
> [php]jak usunąć spacje z tablicy
sweter
post 26.01.2009, 12:01:01
Post #1





Grupa: Zarejestrowani
Postów: 623
Pomógł: 11
Dołączył: 1.01.2009
Skąd: Wrocław

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


Mam tablicę, w której niektóre wartości są zwykłymi spacjami.
Jest jakaś funkcja, która by je usuwała, czy trzeba zastosować pętle?


--------------------
Go to the top of the page
+Quote Post
wookieb
post 26.01.2009, 12:14:14
Post #2





Grupa: Moderatorzy
Postów: 8 989
Pomógł: 1550
Dołączył: 8.08.2008
Skąd: Słupsk/Gdańsk




Kod
foreach($tab as $key=>$value)
{
if(strlen(trim($value))==0) unset($tab[$key]);
}


--------------------
Go to the top of the page
+Quote Post
webasek
post 26.01.2009, 12:15:22
Post #3





Grupa: Zarejestrowani
Postów: 274
Pomógł: 35
Dołączył: 18.07.2008
Skąd: Kielce

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


Nie trzeba używać pętli tylko trzech funkcji:
implode , str_replace, i explode


--------------------
"Tylko dwie rzeczy są nieskończone: wszechświat oraz ludzka głupota,
choć nie jestem pewien co do tej pierwszej." Albert Einstein

Wirtualny Rynek Predykcyjny
Go to the top of the page
+Quote Post
Crozin
post 26.01.2009, 13:06:28
Post #4





Grupa: Zarejestrowani
Postów: 6 476
Pomógł: 1306
Dołączył: 6.08.2006
Skąd: Kraków

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


Cytat
Nie trzeba używać pętli tylko trzech funkcji:
Co tak "na oko" będzie działać zdecydowanie wolniej od tej pętli...
Go to the top of the page
+Quote Post
webasek
post 26.01.2009, 13:15:02
Post #5





Grupa: Zarejestrowani
Postów: 274
Pomógł: 35
Dołączył: 18.07.2008
Skąd: Kielce

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


Może i będzie działać wolniej (przy wiekszości tablic nawet się tego nie zauważy) a pytanie było :

Cytat
czy trzeba zastosować pętle?

Więc odpowiedź wydaje się poprawna smile.gif

Ten post edytował webasek 26.01.2009, 13:15:47


--------------------
"Tylko dwie rzeczy są nieskończone: wszechświat oraz ludzka głupota,
choć nie jestem pewien co do tej pierwszej." Albert Einstein

Wirtualny Rynek Predykcyjny
Go to the top of the page
+Quote Post
emmjot
post 26.01.2009, 14:19:00
Post #6





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

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


Można też użyć funkcji trim.
Go to the top of the page
+Quote Post
nospor
post 26.01.2009, 14:26:58
Post #7





Grupa: Moderatorzy
Postów: 36 557
Pomógł: 6315
Dołączył: 27.12.2004




Cytat
Można też użyć funkcji trim.
@emmjot można tez czytac to co pisali inni wczesniej w tym temacie, a nie wyskakiwać jak filip z konopii. Pomijam juz fakt ze samo trim() nie pomoze...


--------------------

"Myśl, myśl, myśl..." - Kubuś Puchatek || "Manual, manual, manual..." - Kubuś Programista
"Szukaj, szukaj, szukaj..." - Kubuś Odkrywca || "Debuguj, debuguj, debuguj..." - Kubuś Developer

Go to the top of the page
+Quote Post
hwao
post 26.01.2009, 14:49:07
Post #8


Developer


Grupa: Moderatorzy
Postów: 2 844
Pomógł: 20
Dołączył: 25.11.2003
Skąd: Olkusz




Można tak, rozwiązanie dla leniwych tongue.gif

  1. <?php
  2.  
  3.   $a = array( 'a', ' ', 'b', ' ', 'c', '    ', 'd' );
  4.  
  5.   $b = array_filter( $a, 'trim' );
  6.  
  7. ?>


Kod
array(4) {
  [0]=>
  string(1) "a"
  [2]=>
  string(1) "b"
  [4]=>
  string(1) "c"
  [6]=>
  string(1) "d"
}


Jedna linijka - mniej niepotrzebnego pisania smile.gif
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: 18.07.2025 - 12:48