按块搜索并打印结果

时间:2014-04-12 02:33:58

标签: php arrays

我在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] ......)
我必须提一下,我的应用程序中的任何地方都没有显示该数组,只有结果,所以我的网址是这样的:/ search.php?d1 = Trip&amp ;mn = Magis& ln = Dulsh& a = 23 如果它在数组中找到匹配,则显示其余信息。

我是否提到我需要阻止找到信息的ID?...

感谢您抽出宝贵时间。

1 个答案:

答案 0 :(得分:0)

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

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。

玩得开心。