Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [PHP]Jak usunąć puste elementy tablicy po zastosowaniu array_unique
Forum PHP.pl > Forum > Przedszkole
adas007
Witam, na dwuwymiarowej tablicy zastosowałem funkcję array_unique, po usuniętych duplikatach powstały puste elementy w tablicy i chciałbym usunąć te indeksy. Próbowałem w ten sposób , ale nic to nie dało:

  1. for ($i=0;$i<count($linki[1]);$i++)
  2. {
  3.  
  4.  
  5. if ($linki[1][$i]==null)
  6. {
  7. unset($linki[1][$i]);
  8. }
  9. }
Wicepsik
array_filter
adas007
W ten sposób nie działa:

  1.  
  2. $linki[1]=array_unique($linki[1]);
  3. $linki[1]=array_filter($linki[1]);
wookieb
No a jaka jest zawartość tablicy $linki?
adas007
Tam są linki zebrane przy pomocy biblioteki curl. Jak usunę duplikaty i wyświetlę linki w echo w pętli for to, w miejscu duplikatów mam dziurę:

  1.  
  2. <a href="http://abc/link1" target="_blank">http://abc/link1</a>
  3. <a href="http://abc/link2" target="_blank">http://abc/link2</a>
  4. /*
  5.  
  6. dziura po duplikatach
  7.  
  8.  
  9. */
  10. <a href="http://abc/link3" target="_blank">http://abc/link3</a>
  11. <a href="http://abc/link4" target="_blank">http://abc/link4</a>
  12.  
Wicepsik
foreach ?
wookieb
Pokaż kod z użyciem array_unique i zawartość tablicy. Przecież nie mogą zostać puste miejsca...
adas007
No właśnie nie potrafię zastosować foreach do tablicy dwuwymiarowej. Jak powinna wyglądać pętla foreach aby przejść przez wszystkie elementy linki[1][$i] ?
wookieb
  1. $tab = array(
  2. array('1', '2'),
  3. array('2','2'),
  4. array(),
  5. );
  6.  
  7. $tab = array_filter(array_map('array_unique', $tab));
  8. print_r($tab);

adas007
Problem był taki, że wyświetlałem w ten sposób:
  1. for...
  2. echo $tab."<br>";


i mimo, że nie było nic w danym elemencie, to znacznik <br> łamał linię i dawało to efekt pustych miejsc.

zrobiłem tak i jest teraz ok:

  1.  
  2. for...
  3. echo "<li>$tab</li>";
  4.  
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.