繁体   English   中英

PHP-使用另一个数组从多维数组获取值

[英]PHP - getting the value from the multidimensional array using another array

我有两个数组:

$mainArray = array(
        ['id' => 1, 'name' => 'test'],
        ['id' => 2, 'name' => 'news'],
        ['id' => 3, 'name' => 'foo'],
        ['id' => 4, 'name' => 'bar']...
        );

$array = array(1,2,5,6,7);

我需要检查$ mainArray中的id是否包含在$ array中 ,以及是否包含它需要打印的名称。 我怎样才能做到这一点?

简单!

foreach($mainArray as $arr) {
    if(in_array($arr['id'], $array)) {
        echo $arr['id'];
    }
}

这应该为您工作:

(使用此解决方案,您有一个数组,其中idkeynamevalue

<?php

    $mainArray = array(
                    ['id' => 1, 'name' => 'test'],
                    ['id' => 2, 'name' => 'news'],
                    ['id' => 3, 'name' => 'foo'],
                    ['id' => 4, 'name' => 'bar']
                );

    $array = array(1,2,5,6,7);
    $result = array();

    foreach($mainArray as $k => $v)
        $result[$v["id"]] = (array_intersect($mainArray[$k], $array) ? $mainArray[$k]["name"] : "");

    $result = array_filter($result);
    print_r($result);

?>

输出:

Array ( [1] => test [2] => news )

您可以轻松地通过数组打印出所有类似的信息:

array_walk($result, function($value, $key) { 
    echo "Key: $key Value: $value <br />";
});

//OR

foreach($result as $key => $value)
    echo "Key: $key Value: $value <br />";

输出:

Key: 1 Value: test 
Key: 2 Value: news 

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM