在php中将特定键映射到数组中的每个条目
我有一个多维数组,有28166个值,名为$mediaarray,还有一个多维数组,名为$mediafiletype,有96个值 $mediaarray中的每个条目都有一个名为file_type_id的值,该值是$mediafiletype中的主键。所以我要做的是,对于$mediaarray中的每个元素,总计28166个值,如果$mediaarray中的值file_type_id等于$mediafiletype中的id总计96个值,那么将$mediafiletype中的值base_url添加到新形成的多维数组的键中,这与$mediaarray相同,但现在有一个base_url作为键 问题是,我无法用一个键映射$mediaarray中的每个值,并将其存储回一个新数组,我不确定我做错了什么。任何建议都是伟大的 这是我的密码在php中将特定键映射到数组中的每个条目,php,arrays,multidimensional-array,Php,Arrays,Multidimensional Array,我有一个多维数组,有28166个值,名为$mediaarray,还有一个多维数组,名为$mediafiletype,有96个值 $mediaarray中的每个条目都有一个名为file_type_id的值,该值是$mediafiletype中的主键。所以我要做的是,对于$mediaarray中的每个元素,总计28166个值,如果$mediaarray中的值file_type_id等于$mediafiletype中的id总计96个值,那么将$mediafiletype中的值base_url添加到新形
$baseUrlKeyMediaArray = array();
$NotbaseUrlKeyMediaArray = array();
foreach ($mediaarray as $key => $mavalue) {
$match = false;
foreach ($mediafiletype as $mftvalue) {
if ($mavalue['file_type_id'] == $mftvalue['id']) {
$pathname = $mftvalue['base_url'];
$baseUrlKeyMediaArray[$pathname] = $mavalue;
$match = true;
}
}
if(! $match) {
$notsure[] = $mavalue;
}
}
mike在您的示例中,$notsure不是应该是$NotbaseUrlKeyMediaArray吗…?您的方法将导致28166*96个周期,这是可以的,但不是必需的。为什么不先将索引新数组的id映射到$mediafiletype数组的相关id,然后再遍历$mediaarray一次,直接访问文件类型并应用所需的值。结果只有28166+96个周期。一点帮助:我测试了你的代码,但用$NotbaseUrlKeyMediaArray替换了$notsure,它工作正常,除非你在寻找其他东西:不要用文字描述你的数组结构和期望的结果,请用代码来描述。这更容易理解,$mediaarray和$mediafiletype看起来像什么?你能举个例子吗?