Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> [PHP]porównanie tablic, elementy unikalne
@rtur
post
Post #1





Grupa: Zarejestrowani
Postów: 254
Pomógł: 3
Dołączył: 23.02.2006

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


mam 2 tablice:
  1. $array1= array(
  2. 0=>array('zwierze'=>'kot','rasa'=>'pers'),
  3. 1=>array('zwierze'=>'kot','rasa'=>'dachowiec'),
  4. 2=>array('zwierze'=>'pies','rasa'=>'jamnik'),
  5. );
  6. $array2= array(
  7. 0=>array('zwierze'=>'kot','rasa'=>'abisyński'),
  8. 1=>array('zwierze'=>'pies','rasa'=>'dog niemiecki'),
  9. 2=>array('zwierze'=>'kot','rasa'=>'pers'),
  10.  
  11. );

Jak stworzyć z tych dwóch tablic 3 tablicę $array3 zawierającą tylko to co się nie powtarza obu tablicach a znajduje się w $array2
  1. $array3= array(
  2. 0=>array('zwierze'=>'pies','rasa'=>'dog niemiecki'),
  3. 1=>array('zwierze'=>'kot','rasa'=>'abisyński'),
  4. );


próbowałem porównać dwie tablice poleceniem
  1. $array3 = array_diff($array1,$array2);
ale pokazuje 0 elementów.
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi
@rtur
post
Post #2





Grupa: Zarejestrowani
Postów: 254
Pomógł: 3
Dołączył: 23.02.2006

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


1. wykonuje najpierw połączenie tablic $array3 = array_merge($array1,$array2), i jak rozumiem mam jedną tablicę $array3 później usuwam z niej duplikaty poprzez $array3= array_unique($array3)?
2. część wspólna ale których tablic $array4 = array_intersect($array1,$array2)?
3. różnica - $array5 = array_diff($array3, $array4) ?

cały kod:
  1. $array3 = array_merge($array1,$array2);
  2. $array3 = array_unique($array3);
  3. $array4 = array_intersect($array1,$array2);
  4. $array5 = array_diff($array3, $array4)
i w $array5 mam to co ja chce?

chyba nie bardzo działa wg tego co napisałem wyżej
  1. $inters = array_intersect($array1,$array2);
  2. $merge = array_merge($array1,$array2);
  3. $unique = array_unique($merge);
  4. $diff1 = array_diff($inters,$unique);
  5. $diff2 = array_diff($unique,$inters);
  6. var_dump($diff1);
  7. var_dump($diff2);

zwiaca:
  1. array(0) {
  2. }
  3. array(0) {
  4. }
Go to the top of the page
+Quote Post

Posty w temacie


Reply to this topicStart new topic
2 Użytkowników czyta ten temat (2 Gości i 0 Anonimowych użytkowników)
0 Zarejestrowanych:

 



RSS Aktualny czas: 10.10.2025 - 03:55