Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> [PHP] Różnica między tablicami.
Monter08
post 1.05.2012, 21:30:52
Post #1





Grupa: Zarejestrowani
Postów: 237
Pomógł: 22
Dołączył: 16.09.2010
Skąd: Lubaczów

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


Witam! Mam mały problem z szukaniem różnic między tablicami, otóż posiadam dwie tablice powiedzmy:
  1. <?
  2. $tablicaA=array('Ala', 'Ma', 'Kota');
  3. $tablicaB=array('Ala', 'Kota', 'Chce');
  4. ?>

I chciałbym aby szukana funkcja podawała mi jaka wartość została usunięta a jaka dodana, w manualu znalazłem funkcje array_diff_assoc, lecz ona tylko podaje mi różnice jakie są miedzy dwoma tablicami, bez informacji które zostało usunięte a które dodane. Musze przyznać, że nie mam już dzisiaj pomysłów jak to rozwiązać i dlatego proszę Was o pomoc.
Z góry dziękuje, pozdrawiam.
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi (1 - 2)
Quantum
post 1.05.2012, 21:41:21
Post #2





Grupa: Zarejestrowani
Postów: 450
Pomógł: 84
Dołączył: 27.11.2008
Skąd: Warszawa

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


pierwszy przypadek (których nie ma w B z A/usunięte) to różnica pomiędzy tablicą A i B, a drugi (których nie ma w A z B/dodane) odwrotnie- B i A.
  1. $tablicaA=array('Ala', 'Ma', 'Kota');
  2. $tablicaB=array('Ala', 'Kota', 'Chce');
  3.  
  4. function analiza ( array $a, array $b )
  5. {
  6. return ( array ( array_diff ( $a, $b ), array_diff ( $b, $a ) ) );
  7. }
  8.  
  9. print_r(analiza($tablicaA, $tablicaB));
Go to the top of the page
+Quote Post
Monter08
post 1.05.2012, 21:47:24
Post #3





Grupa: Zarejestrowani
Postów: 237
Pomógł: 22
Dołączył: 16.09.2010
Skąd: Lubaczów

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


pierwsze co pomyślałem to właśnie o tym rozwiązaniu, ale po chwili doszedłem do wniosku, że to nie zadziała, lecz jednak.. Ale tak czy siak, wielkie dzięki za tak szybką odpowiedź.
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.08.2025 - 13:53