php打印嵌套数组的特定值

时间:2014-05-19 19:26:20

标签: php arrays wordpress

我尝试根据WordPress中当前用户的电子邮件地址打印出数组中的值。已使用

设置阵列
$link= json_decode($xml, TRUE);

我有一些基本逻辑来检查当前WordPRess用户的电子邮件并将其打印出来。

if (in_array("current_user->user_email", $link)) {
    echo "Got user's email address:" .'<br />';
    echo $current_user->user_email;
    echo "<br />";
    echo $Members->MemberID;
} else {
    echo "No such email address exists";
} 

我还需要从数组中打印出当前用户的Member ID值。这是该数组的示例输出。这甚至可能吗?我试图这样做而不必在数据库中存储任何数据。

 Array
 (
 [Members] => Array
    (
        [0] => Array
            (
                [EmailAddress] =>randomemail@gmail.com
                [FirstName] => Merle
                [LastName] => Delisio
                [MemberExtension] => 000
                [MemberID] => c1c17b39-bdba-4c76-9fd6-e53a982aa713
                [MemberNumber] => 2031
                [MiddleInitial] => 

            )

        [1] => Array
            (
                [EmailAddress] => someemail@gmail.com
                [FirstName] => Allen
                [LastName] => Barnaby
                [MemberExtension] => 000
                [MemberID] => 2e16fded-e55b-4687-9696-eb329b96d1e7
                [MemberNumber] => 2001
                [MiddleInitial] => 

1 个答案:

答案 0 :(得分:0)

您可能正在寻找多维数组搜索?

http://www.highonphp.com/multidimensional-array-search

我不确定这是否能满足您的需求,但希望能帮助您找到正确的方向。

if (in_array("current_user->user_email", $link)) {
    echo "Got user's email address:" .'<br />';
    echo $current_user->user_email;
    echo "<br />";
    $tmp = array_multi_search($Members, $current_user->user_email);
    echo $Members[$tmp[0]]['MemberID'];
} else {
    echo "No such email address exists";
} 

在您的示例中,$ Members是一个数组数组。如果您使用类似于示例array_multi_search的内容,如果$current_user->user_email = 'someemail@gmail.com'我希望获得$tmp = array(0 => 0)。使用您给定的$ Members示例,我们实际上只会期望返回一个值。我希望其余的都是自我解释的,如果没有,请知道。