我有两个数组如下,
第一个阵列:
Array
(
[0] => Array
(
[desc] => teacher
[code] => 01
)
[1] => Array
(
[desc] => student
[code] => 02
)
...
)
第二阵列:
Array
(
[0] => Array
(
[code] => 01
[name] => John
)
[1] => Array
(
[code] => 02
[name] => Smith
)
...
)
我希望得到如下答复:
约翰,老师
和/或
史密斯,学生
请指教!感谢。
答案 0 :(得分:1)
将所提出的问题放在你的问题之外,让我们展示如何关联你的价值观。此外,您的“第二个”数组似乎是更重要的主要数据 - 考虑重命名?
$first = array(
array("desc" => "teacher", "code" => 01),
array("desc" => "student", "code" => 02)
);
$second = array(
array("name" => "John", "code" => 01),
array("name" => "Smith", "code" => 02)
);
foreach($second as $value){
echo $value['name'] . "," . $first[findDesc($first, $value['code'])]['desc'];
}
function findDesc($haystack, $needle){
foreach($haystack as $key => $value){
if($value['code'] === $needle )
return $key;
}
return false;
}
那我们在做什么?我们遍历您的第二个数组,因为这似乎是您的主要数组,然后我们从“code”获取值并在第一个数组中查找相同的“code” ,返回密钥,因此我们可以获得“desc”的值。