通过特定键搜索多维数组并打印值php

时间:2011-06-13 11:13:11

标签: php arrays

我正在尝试打印数组。所有代码都可以正常使用foreach循环。但我正在尝试使用相关密钥进行打印。有可能吗?

示例:key['user_id']这将从数组中打印所有user_id。可能吗?请帮助我谢谢

Array
(
    [Post1] => Array
    (
        [id] => 1
        [title] => hi
    )
    [Post2] => Array
    (
        [0] => Array
            (
                [user_id] => 1
            )
        [1] => Array
            (
                [user_id] => 2
            )
    )
    [Post3] => Array
    (
        [0] => Array
            (
                [user_name] => 1
            )
    )
)

这是我的PHP代码:

foreach($post as $key => $value) {
    foreach($value as $print => $key) {
        if (is_array($key)){
            foreach($key as $print2 => $key2) {
                echo "<br>".$key2;
            }
        }else{
            echo "<br>".$key;
        }
    }
}

2 个答案:

答案 0 :(得分:1)

您可以print_r为每个人获得三倍的效果。

答案 1 :(得分:0)

  

我正在尝试打印数组。所有代码都可以正常使用foreach循环。但我正在尝试使用相关密钥进行打印。有可能吗?

您可以轻松地使用递归来解决此类问题。您可以使用以下内容:

function printValuesByKey($array, $key) {
    if (!is_array($array)) return;
    if (isset($array[$key])) 
        echo $key .': '. $array[$key] .'<br>';
    else
        foreach ($array as $v)
            printValuesByKey($v, $key);
}

在你的例子中:

printValuesByKey($array, 'user_id');

will打印:

user_id: 1
user_id: 2