如何在php中检查两个数组

如何在php中检查两个数组,php,php-7,Php,Php 7,这里我在结构下面有两个数组 $a = [ "100" => ["name" => "1 A"], "200" => ["name" => "1 B"], "300" => ["name" => "1 C"], "400" => ["name" => "1 D"], ]; $b = [ "user1" => ["100" , "200"], "user2" => ["100" , "300

这里我在结构下面有两个数组

$a = [
    "100" => ["name" => "1 A"],
    "200" => ["name" => "1 B"],
    "300" => ["name" => "1 C"],
    "400" => ["name" => "1 D"],
];

$b = [
    "user1" => ["100" , "200"],
    "user2" => ["100" , "300"],
    "user3" => ["100" , "200","400"],
];
现在让我们以$b user1为例,其值为100&200,现在要检查$a 100的值表示名称,200表示名称

根据我的数组记录,100表示值为name=>1A,200表示name=>1B

我期待的答案

你可以用foreach

也许能帮你。array_walk用于在$activeGroups数组上进行迭代,array_map用于从$teacherActiveGroupNameData数组中提取名称


正在工作。

到目前为止,您尝试了什么?
Array
(
    [user1] => Array
        (
            [0] => 1 A
            [1] => 1 B
        )

    [user2] => Array
        (
            [0] => 1 A
            [1] => 1 C
        )

    [user3] => Array
        (
            [0] => 1 A
            [1] => 1 B
            [2] => 1 D
        )

)
$r = [];
foreach($activeGroups as $k => $v){
  foreach($v as $ik => $iv){
    $r[$k][] = $teacherActiveGroupNameData[$iv]['name'];
  } 
}
array_walk($activeGroups, function (&$val) use ($teacherActiveGroupNameData) {
    $val = array_map(function ($val) use ($teacherActiveGroupNameData) {
        return $teacherActiveGroupNameData[$val]['name'];
    }, $val);
});

echo '<pre>', print_r($activeGroups);