比较2个数组中的2个数组值Php

Wyc*_*yck 5 php arrays compare

我删除了旧帖子以使其更清晰.我有2个数组,我需要比较和匹配,但只有每个数组2个值相同.

$array1 = $plugins
$array2 = $xml_dump

两个数组的样本:

$plugins 

Array
(
    [all] => Array
        (
            [ajax-category-dropdown/dhat-ajax-cat-dropdown.php] => Array
                (
                    [Name] => Ajax Category Dropdown
                    [PluginURI] => http://www.example.com/ajax/
                    [Version] => 0.1.5
                    [Description] => Generates multi-level ajax. 
                    [Author] => DyasonHat
                    [AuthorURI] => http://www.dyasonhat.com
                    [Title] => Ajax Category Dropdown
                    [AuthorName] => Dya
                )

            [akismet/akismet.php] => Array
                (
                    [Name] => Akismet
                    [PluginURI] => http://akismet.com/
                    [Version] => 2.5.3
                    [Description] => Used by millions
                    [Author] => Automattic
                    [AuthorURI] => http://automattic.com/
                    [Title] => Akismet
                    [AuthorName] => Automattic
                )


$xml_dump
SimpleXMLElement Object
(
    [plugin] => Array
        (
            [0] => SimpleXMLElement Object
                (
                    [name] => Ajax Category Dropdown
                    [ex_version] => 0.1.5
                    [ex_date] => 2008-01-03
                    [plugin_url] => http://wordpress.org/extend/plugins/wp-contactform/
                    [advisory_url] => http://osvdb.org/show/osvdb/43284
                )

            [1] => SimpleXMLElement Object
                (
                    [name] => WP-ContactForm
                    [ex_version] => 2.0.7
                    [ex_date] => 2008-01-03
                    [plugin_url] => http://wordpress.org/extend/plugins/wp-contactform/
                    [advisory_url] => http://osvdb.org/show/osvdb/43284
                )

            [2] => SimpleXMLElement Object
                (
                    [name] => Math Comment Spam Protection
                    [ex_version] => 2.1
                    [ex_date] => 2008-01-03
                    [plugin_url] => http://wordpress.org/extend/plugins/math-comment-spam-protection/
                    [advisory_url] => a
                )
Run Code Online (Sandbox Code Playgroud)

我只需要当$数组1,该函数返回值(或返回true) Name,Version 匹配$数组2 name,ex_version

在上面的示例中,您可以看到

$array1
Name => Ajax Category Dropdown
Version => 0.1.5

///has a match in 

$array2
name => Ajax Category Dropdown
ex_version => 0.1.5
Run Code Online (Sandbox Code Playgroud)

我尝试了很多变种,array_intersect但我不能让它匹配每个数组的2个值.

Wyc*_*yck 0

只是想用最终成为我的解决方案来结束这个问题。

我抓取了两个数组的NameVersion,并为每个数组创建了一个新数组,这样我就可以轻松地使用array_intersect和操作它们的数组。因此,为了使其正常工作,我只需要创建两个新数组,其中包含我想要比较的值。

 $a = array();
 $b = array();

 //first foreach loop

 $find_local_plugs = $global_plugins_name . $plugin_version;
 $a[] = $find_local_plugs;

 //second foreach loop

 $find_remote_plugs = $xml_plugins . $xml_plugin_version;
 $b[] = $find_remote_plugs;


 $matches = array_intersect($a, $b);
Run Code Online (Sandbox Code Playgroud)