Cześć, próbuję scalić dwie tablice, a także chcę usunąć zduplikowane wartości z ostatecznej tablicy.
Oto moja tablica 1:
Array
(
[0] => stdClass Object
(
[ID] => 749
[post_author] => 1
[post_date] => 2012-11-20 06:26:07
[post_date_gmt] => 2012-11-20 06:26:07
)
A to jest moja tablica 2:
Array
(
[0] => stdClass Object
(
[ID] => 749
[post_author] => 1
[post_date] => 2012-11-20 06:26:07
[post_date_gmt] => 2012-11-20 06:26:07
)
Używam array_merge
do łączenia obu tablic w jedną tablicę. daje takie wyjście
Array
(
[0] => stdClass Object
(
[ID] => 749
[post_author] => 1
[post_date] => 2012-11-20 06:26:07
[post_date_gmt] => 2012-11-20 06:26:07
[1] => stdClass Object
(
[ID] => 749
[post_author] => 1
[post_date] => 2012-11-20 06:26:07
[post_date_gmt] => 2012-11-20 06:26:07
)
Chcę usunąć te zduplikowane wpisy lub czy mogę je usunąć przed scaleniem… Proszę o pomoc… Dzięki !!!!!!!
Odpowiedzi:
http://se2.php.net/manual/en/function.array-unique.php
źródło
Catchable fatal error: Object of class stdClass could not be converted to string
SORT_REGULAR
, dajeRecoverable fatal error: Object of class stdClass could not be converted to string in...<path to file>
Połączy dwie tablice i usunie duplikat
Wypróbuj ten link link1
źródło
Jak już wspomniano, array_unique () może być używana, ale tylko w przypadku prostych danych. Obiekty nie są takie proste w obsłudze.
Kiedy php próbuje scalić tablice, próbuje porównać wartości członków tablicy. Jeśli element członkowski jest obiektem, nie może uzyskać wartości i zamiast tego używa skrótu spl. Przeczytaj więcej o spl_object_hash tutaj.
Mówiąc prosto, jeśli masz dwa obiekty, instancje tej samej klasy i jeśli jeden z nich nie jest odniesieniem do drugiego - otrzymasz dwa obiekty, niezależnie od wartości ich właściwości.
Aby mieć pewność, że nie masz żadnych duplikatów w scalonej tablicy, Imho powinieneś sam zająć się sprawą.
Także jeśli masz zamiar scalić tablice wielowymiarowe, należy rozważyć użycie array_merge_recursive () nad array_merge () .
źródło
spróbuj użyć
array_unique()
eliminuje to zduplikowane dane z listy twoich tablic.
źródło
Scalanie dwóch tablic nie usunie duplikatu. Możesz wypróbować poniższy przykład, aby uzyskać unikalność z dwóch tablic
źródło