如何在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);