php - сопоставление элементов в массиве - PullRequest
2 голосов
/ 16 декабря 2010

Я играл с этим весь день и не нашел хорошего способа сделать это ...

У меня есть два массива, и я пытаюсь создать массив на основе совпадающих значений.

//$original

    Array
    (
        [0] => Array
            (
                [items] => Array
                    (
                        [0] => Array
                            (
                                [0] => PA
                                [1] => DZ
                                [2] => ER
                                [3] => TY
                            )

                        [1] => Array
                            (
                                [0] => KV
                                [1] => EN
                                [2] => CR
                            )

                        [2] => Array
                            (
                                [0] => HU
                                [1] => GO
                                [2] => GA
                                [3] => FI
                            )
                    )
            )
    )


//$compare    
    Array
    (
        [0] => Array
            (
                [items] => Array
                    (
                        [0] => Array
                            (
                                [0] => PA
                                [1] => AN
                                [2] => ER
                            )

                        [1] => Array
                            (
                                [0] => KV
                            )

                        [2] => Array
                            (
                                [0] => HU
                                [1] => XV
                                [2] => ZL
                                [3] => FI
                            )
                    )
            )
    )

И я пытаюсь произвести

//$similar
    Array
    (
        [0] => Array
            (
                [items] => Array
                    (
                        [0] => Array
                            (
                                [0] => PA
                                [2] => ER
                            )

                        [1] => Array
                            (
                                [0] => KV
                            )

                        [2] => Array
                            (
                                [0] => HU
                                [3] => FI
                            )
                    )
            )
    )

1 Ответ

2 голосов
/ 16 декабря 2010

Использование array_intersect.

$similar = $compare;
$similar[0]['items'] = array_intersect($compare[0]['items'], $original[0]['items']);

пример кодовой панели

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...