Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [PHP]Usuwanie tablicy po wartości klucza
Forum PHP.pl > Forum > Przedszkole
czernin
Witam,

Mam taką tablicę z użytkownikami przebywającymi aktualnie na chacie:

  1.  
  2. [0] => Array
  3. (
  4. [name] => michal
  5. [ip] => 192.168.0.100
  6. [room] => pub.niebo
  7. [rank] => a
  8. )
  9.  
  10. [1] => Array
  11. (
  12. [name] => mariusz
  13. [ip] => 192.168.0.101
  14. [room] => pub.niebo
  15. [rank] => u
  16. )
  17.  
  18. [2] => Array
  19. (
  20. [name] => lukasz
  21. [ip] => 192.168.0.102
  22. [room] => pub.niebo
  23. [rank] => m
  24. )
  25.  
  26. )


Jak usunąć tablicę, w której name=>mariusz, aby zostały tylko tablice z Michałem i Łukaszem?
matiit
  1. $array = array_filter($array, function($element){if ($element['name'] == "mariusz") return false; return true;}));


Ale jeśli pobierasz te dane z bazy danych, to jest to bez sensu, wydajniej było by użyć odpowiedniego where w SQL
czernin
Nie pobieram tych danych z bazy.

Pozostaje mi tylko przekazać do tej funkcji zmienną $toRemove = 'mariusz'. Próbowałem, ale się nie udawało.
matiit
Nie ma problemu:
  1. $toRemove = 'mariusz';
  2. $array = array_filter($array,
  3. function($element) use ($toRemove) {
  4. if ($element['name'] == $toRemove)
  5. return false;
  6. return true;
  7. }));
  8.  
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.