按块在数组中搜索并打印结果


Search in array by block and print result

我在stackoverflo和谷歌先生这里做了一个搜索,但没有找到我要找的东西,他们都只是结果,但问题是来自哪个块,它还有什么其他信息
下面是我使用的数组的一个例子

    Array
    (
[28] => Array
        (
            [info] => stdClass Object
                (
                    [nombre] => Jonny
                    [midname] => Smush
                    [lastname] => Hugs
                    [age] => 51
                    [street] => South 23
                    [block] => At2
                    [zp] => 01000
                    [city] => Baltimore
                    [state] => MD
                    [country] => US
                    [t_h] => 2343242343
                    [t_m] => 
                    [t_a] => 
                    [email] => dfsgfdgd@sdsd.com
                    [health] => Good
                )
            [emer] => stdClass Object
                (
                    [t_h] => 2343243243
                    [t_w] => 
                    [t_m] => 
                )
            [date] => 2014-04-09 10:46:37
            [news] => no
        )
[29] => Array
        (
            [info] => stdClass Object
                (
                    [nombre] => Tachio
                    [midname] => Magis
                    [lastname] => Dulsh
                    [age] => 23
                    [street] => South 23
                    [block] => At2
                    [zp] => 01000
                    [city] => Baltimore
                    [state] => MD
                    [country] => US
                    [t_h] => 2343242343
                    [t_m] => 
                    [t_a] => 
                    [email] => dfsgfdgd@sdsd.com
                    [health] => Ok
                )
            [emer] => stdClass Object
                (
                    [t_h] => 2343243243
                    [t_w] => 
                    [t_m] => 
                )
            [date] => 2014-04-09 10:46:37
            [news] => no
        ).. way to long to display all

既然我们已经知道了数组的基本概念,现在我需要搜索:name、midname、lastname和age,如果这四个值在ID中匹配(我忘了提到第一个键[28]。[29]是ID),则显示该ID中的其余信息([28]、[29]…)
我必须提到的是,这个数组在我的应用程序中没有显示,只有结果,所以我的url是:/search.php?d1=Tachio&mn=Magis&ln=沉闷&a=23
如果它在数组中找到匹配项,则显示其余信息。

我有没有提到我需要从哪个区块找到信息的ID?。。。

谢谢你抽出时间。

可能有更好的方法,但您可以循环并找到它。

function findUser($userData)
{
    foreach($userData as $key=>$value)
    {
        if($value['info']->nombre == $_GET['d1']
              && $value['info']->midname == $_GET['mn']
              && $value['info']->lastname == $_GET['ln']
              && $value['info']->age == $_GET['a'])
              return array('id'=>$key, 'information'=>$value);
    }
    return false;
}

现在将数组馈送到函数。如果找到匹配项,则返回一个数组,其中键id包含数字id,information包含该用户的信息。

可能值得注意的是,这是区分大小写的。

如果未找到,则返回false。

玩得开心。