Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> [PHP]Czyszczenie tablicy z pustych elementów
kamil_lk
post
Post #1





Grupa: Zarejestrowani
Postów: 325
Pomógł: 33
Dołączył: 31.05.2008

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


Cześć,

Próbuję napisać metodę, która pousuwa mi z tablicy puste elementy.
Jak mogę to zrobić, aby działało dla wielu wymiarów?

Jednowymiarowa - działa
  1. public function cleanEmptyValueFromArray($array)
  2. {
  3. $array = array_filter($array, function($value) { return $value !== ''; });
  4. $array = (count($array) > 0) ? $array : NULL;
  5.  
  6. return $array;
  7. }


Wielowymiarowa - nie działa (próbuję wykonać tu rekurencję, ale coś mi nie wychodzi)
  1. public function cleanEmptyValueFromArray($array)
  2. {
  3. $array = array_filter($array, function($value) {
  4. if(is_array($value)) return $this->cleanEmptyValueFromArray($value);
  5. return $value !== '';
  6. });
  7. $array = (count($array) > 0) ? $array : NULL;
  8.  
  9. return $array;
  10. }
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi (1 - 4)
Pyton_000
post
Post #2





Grupa: Zarejestrowani
Postów: 8 068
Pomógł: 1414
Dołączył: 26.10.2005

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


Pokaż wejście i wyjście jakie ma być.
Go to the top of the page
+Quote Post
Boshi
post
Post #3





Grupa: Zarejestrowani
Postów: 342
Pomógł: 15
Dołączył: 30.08.2011

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


$array = array_map('array_filter', $array); ?
Go to the top of the page
+Quote Post
kamil_lk
post
Post #4





Grupa: Zarejestrowani
Postów: 325
Pomógł: 33
Dołączył: 31.05.2008

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


Przykład 1
Wejście:
  1. $array = [
  2. 'array' => [
  3. 'key1' => 'value1',
  4. 'key2' => '',
  5. 'key3' => 'value3'
  6. ],
  7. 'key1' => 'value',
  8. 'key2' => '',
  9. 'key3' => 'value3'
  10. ]

Wyjście:
  1. $array = [
  2. 'array' => [
  3. 'key1' => 'value1',
  4. 'key3' => 'value3'
  5. ],
  6. 'key1' => 'value',
  7. 'key3' => 'value3'
  8. ]


Przykład 2
Wejście:
  1. $array = [
  2. 'array' => [
  3. 'key1' => '',
  4. 'key2' => '',
  5. 'key3' => ''
  6. ],
  7. 'key1' => 'value',
  8. 'key2' => '',
  9. 'key3' => 'value3'
  10. ]

Wyjście:
  1. $array = [
  2. 'key1' => 'value',
  3. 'key3' => 'value3'
  4. ]


Ten post edytował kamil_lk 18.12.2016, 12:55:02
Go to the top of the page
+Quote Post
viking
post
Post #5





Grupa: Zarejestrowani
Postów: 6 380
Pomógł: 1116
Dołączył: 30.08.2006

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


http://stackoverflow.com/a/6795671


--------------------
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 - 21:16