我有两个数组,在第一个和第二个数组中有一个'name'共同的元素。现在,我想从第二个数组中检索第一个数组值与第二个数组匹配的值。
第一个数组的代码:
$rs = array();
foreach ( $ex_array as $data ) {
$rs[] = array( 'name' => $data['name'] );
}
第二阵列:
$entries_data = array();
foreach ( $array as $entry ) {
$name = $entry['name']['value'];
$email = $entry['email']['value'];
$entries_data[] = array(
'name' => $name,
'email' => $email
);
}
问题是,第一个数组中只有多个名称,然后我必须将第一个数组名称与第二个数组进行比较,如果匹配,则从第二个数组中检索整个数据以获取特定名称。我试图通过对第二个数组中的搜索名称使用in_array
函数来执行此操作,但无法获取整个值。任何建议或帮助都会对我感激不尽。
答案 0 :(得分:1)
is_array()
用于1d数组,不是这样的情况下使用这个函数取自php文档注释并由我编辑为你的例子工作
function in_multiarray($elem, $array)
{
$top = sizeof($array) - 1;
$bottom = 0;
while($bottom <= $top)
{
if($array[$bottom]['name'] == $elem)
return true;
else
if(is_array($array[$bottom]['name']))
if(in_multiarray($elem, ($array[$bottom]['name'])))
return true;
$bottom++;
}
return false;
}