0

我有两个数组,有一个元素是第一个和第二个数组中常见的“名称”。现在,如果第一个数组值与第二个匹配,我想从第二个数组中检索值。

第一个数组的代码:

    $rs = array();
    foreach ( $ex_array as $data ) {

                $rs[] = array( 'name' => $data['name'] );

            }

第二个数组:

$entries_data = array();
foreach ( $array as $entry ) {

            $name = $entry['name']['value'];
            $email = $entry['email']['value'];

            $entries_data[] = array(
                'name' => $name,
                'email' => $email
            );
        }

问题是,第一个数组中只有多个名称,然后我必须将第一个数组名称与第二个数组进行比较,如果匹配,则从第二个数组中检索整个数据以获取特定名称。我试图通过in_array在第二个数组中使用搜索名称的函数来做到这一点,但无法获取整个值。任何建议或帮助将不胜感激。

4

1 回答 1

1

is_array()用于不是您的情况的一维数组使用此函数取自 php 文档注释并由我编辑为您的示例工作

function in_multiarray($elem, $array)
    {
        $top = sizeof($array) - 1;
        $bottom = 0;
        while($bottom <= $top)
        {
            if($array[$bottom]['name'] == $elem)
                return true;
            else 
                if(is_array($array[$bottom]['name']))
                    if(in_multiarray($elem, ($array[$bottom]['name'])))
                        return true;

            $bottom++;
        }        
        return false;
    }
于 2013-09-09T13:17:51.837 回答