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


Search multidimensional array by specific key and print the value php

我正在尝试打印数组。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;
        }
    }
}

您可以print_r为每个三元组获得您想要的相同结果。

我正在尝试打印数组。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');

将打印:

user_id: 1
user_id: 2