Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

 
Reply to this topicStart new topic
> [php] porównywanie tablic
KirkoR
post
Post #1





Grupa: Zarejestrowani
Postów: 118
Pomógł: 0
Dołączył: 14.02.2004
Skąd: Warszawa

Ostrzeżenie: (10%)
X----


Witam. Chodzi mi onatępującą rzecz:
Mam dwie tablice:
[php:1:13d1f54240]<?php
$tbl_1[] = 1;
$tbl_1[] = 2;
$tbl_1[] = 3;
$tbl_1[] = 4;
$tbl_1[] = 5;
?>[/php:1:13d1f54240]

i

[php:1:13d1f54240]<?php
$tbl_2[] = 1;
$tbl_2[] = 4;
$tbl_2[] = 6;
$tbl_2[] = 23;
$tbl_2[] = 32;
$tbl_2[] = 10;
$tbl_2[] = 8;
?>[/php:1:13d1f54240]

Chcę porównać ze sobą. Aby z tablicy $tbl_2 zostały usunięte wszystkie liczby, które są w $tbl_1
Jak to zrobić? Prosiłbym jeśli to możliwe o gotowy przykład skryptu.
Go to the top of the page
+Quote Post
cichy
post
Post #2





Grupa: Przyjaciele php.pl
Postów: 197
Pomógł: 0
Dołączył: 9.09.2003
Skąd: z Marsa

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


[manual:c51ffd5d6a]array_merge[/manual:c51ffd5d6a] + [manual:c51ffd5d6a]array_unique[/manual:c51ffd5d6a]

Pozdro
Go to the top of the page
+Quote Post
Cudi
post
Post #3


Administrator planeta/IRC


Grupa: Przyjaciele php.pl
Postów: 385
Pomógł: 0
Dołączył: 19.04.2003
Skąd: Zabrze

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


Ja bym jednak skorzystał z [manual:992362f0c9]array_diff()[/manual:992362f0c9] smile.gif


--------------------
"Programmers are in a race with the Universe to create bigger and better idiot-proof programs, while the Universe is trying to create bigger and better idiots. So far the Universe is winning."
Cudi's devBlog
Go to the top of the page
+Quote Post
cichy
post
Post #4





Grupa: Przyjaciele php.pl
Postów: 197
Pomógł: 0
Dołączył: 9.09.2003
Skąd: z Marsa

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


nie doczytałęm że nie chodzi o połączenie tylko zwrócenie różnic tongue.gif

Pozdro
Go to the top of the page
+Quote Post
KirkoR
post
Post #5





Grupa: Zarejestrowani
Postów: 118
Pomógł: 0
Dołączył: 14.02.2004
Skąd: Warszawa

Ostrzeżenie: (10%)
X----


Porównuję tablice za pomocą array_diff:
[php:1:46128132b6]<?php
Array_1
(
[0] => 2
[1] => 3
[2] => 4
[3] => 7
[4] => 8
[5] => 29
[6] => 30
)

Array_2
(
[0] => 2
[1] => 3
[2] =>
)
?>[/php:1:46128132b6]
Otrzymuję taki wynik:
[php:1:46128132b6]<?php
Array_3
(
[2] => 4
[3] => 7
[4] => 8
[5] => 29
[6] => 30
)
?>[/php:1:46128132b6]
Ale jak zrobić aby Array_3 zaczynała się od [0] questionmark.gif
Go to the top of the page
+Quote Post
Cudi
post
Post #6


Administrator planeta/IRC


Grupa: Przyjaciele php.pl
Postów: 385
Pomógł: 0
Dołączył: 19.04.2003
Skąd: Zabrze

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


Troche sie tym pobawiłem, wkońcu zdecydowałem się na użycie funkcji [manual:d1ca79c6c4]array_values()[/manual:d1ca79c6c4]:
[php:1:d1ca79c6c4]<?php
<pre>
<?php
$Array_1 = array
(
2,
3,
4,
7,
8,
29,
30,
);

$Array_2 = array
(
2,
3,
);

print_r( array_values( array_diff( $Array_1, $Array_2 ) ) );
?>
</pre>
?>[/php:1:d1ca79c6c4]
Innego rozwiązania nie udało mi się znaleźć, może funkcja [manual:d1ca79c6c4]array_diff_uassoc()[/manual:d1ca79c6c4] dała by identyczny rezultat, niestety narazie jest ona CVS only,


--------------------
"Programmers are in a race with the Universe to create bigger and better idiot-proof programs, while the Universe is trying to create bigger and better idiots. So far the Universe is winning."
Cudi's devBlog
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 - 15:43