Php 在多嵌套数组中的相同键之间查找匹配项?

Php 在多嵌套数组中的相同键之间查找匹配项?,php,php-5.3,array-difference,array-key-exists,Php,Php 5.3,Array Difference,Array Key Exists,接下来,我还有一个问题-我有两个相同的子键,但它们的变量键中的数组组合不同 Array ( [1] => Array ( [b] => Array ( [quantity_request] => 1 [time_created] => 1339688613 [variant]

接下来,我还有一个问题-我有两个相同的子键,但它们的
变量
键中的数组组合不同

Array
(
    [1] => Array
        (
            [b] => Array
                (
                    [quantity_request] => 1
                    [time_created] => 1339688613
                    [variant] => Array
                        (
                         [0] => x
                         [1] => y
                        )

                )

        )

    [2] => Array
        (
            [b] => Array
                (
                    [quantity_request] => 1
                    [time_created] => 1339688631
                    [variant] => Array
                        (
                         [0] => x
                         [1] => z
                        )

                )

        )

    [3] => Array
        (
            [c] => Array
                (
                    [quantity_request] => 1
                    [time_created] => 1339688959
                    [variant] => Array
                        (
                        )

                )

        )

)
那么,我怎样才能找到这个项目的匹配项

    [b] => Array
                        (
                            [quantity_request] => 1
                            [time_created] => 1339688631
                            [variant] => Array
                                (
                                 [0] => x
                                 [1] => z
                                )

                        )

    function get_letter($letter,$array)
        {
            foreach($this->content as $k => $v)
            {
                if(array_key_exists($letter, $v))
                {
                    return $k;

                }
            }
            return false;

        }

list($key,$different) = get_letter('b',array("x","z")); // return 1
我想要这样的结果如果有匹配的话

2

有什么想法吗?

数组是逐值比较的,所以这应该很好

$key = array_search($needle, $haystack);
其中,
$needle
是要查找其密钥的数组

您只需添加:

if ($v['variant'] == $array)
if
语句中,将
变量
数组与作为参数传递的数组进行比较

function get_letter($letter, $array)
{
     foreach($this->content as $k => $v)
     {
          if(array_key_exists($letter, $v))
          {
               if ($v['variant'] == $array)
                   return $k;
          }
     }

     return false;
}

你能更详细地解释一下你的问题吗?为什么结果应该是
2,0
?我想找到最高级别的键,实际上是
2
(我编辑了我的问题)。