PHP:数组匹配问题

时间:2012-02-08 10:37:42

标签: php arrays

我的array1包含以下内容

array(
'banana',
'apple',
'orange');

我有一个不同的关联数组2,包含项目的内容和价格

array('banana'  => '1.45',
'apple'   => '2.99',
'carrot'  => '1.99',
'orange'  => '0.99',
'papaya'  => '2.99');

如何生成一个最终数组,将两者与它们的公共部分结合起来,得到这个最终结果

   array('banana'  => '1.45',
  'apple'   => '2.99',
  'orange'  => '0.99');

3 个答案:

答案 0 :(得分:5)

我会在这里使用array_intersect_key()

$intersection = array_intersect_key($second, array_flip($first));

CodePad

答案 1 :(得分:1)

你可以这样做:

$fruitNames = array(
'banana',
'apple',
'orange');

$fruitValues = array('banana'  => '1.45',
  'apple'   => '2.99',
  'orange'  => '0.99');



$finalArray = array();

foreach($fruitNames as $value)
{
    $finalArray[$value] = $fruitValues[$value];
}

$finalArray将具有预期值。

答案 2 :(得分:0)

使用array_key_exists循环播放并制作新数组