2012-11-16 29 views
1

我挣扎着一个我无法解决的愚蠢问题,可能是因为我的脑袋刚刚疯了。但是,真的,我无法弄清楚。这可能比我想象的要简单,但我无法在网络上找到解决方案。 我有这样的阵列,整理像我想:Php排序2阵列键以相同的方式

array (size=3) 
    9 => float 124.58194 
    2 => float 52.8428 
    8 => float 25.041806 

然后,另一个数组具有相同的密钥,但不同的顺序

array (size=3) 
    8 => string '3' (length=1) 
    9 => string '3' (length=1) 
    2 => string '2' (length=1) 

我可以按键第二个,使用的顺序第一个?如果是这样,怎么样?

在此先感谢

回答

1

试试这个,我测试了它,但它会杀死弟子不在主提供的任何按键。

$master = array(
     9 => 999 
    , 2 => 222 
    , 8 => 888 
); 

$disciple = array(
     8 => 8989 
    , 9 => 9090 
    , 2 => 2020 
); 

$disciplined = discipline($master, $disciple); 
var_dump($disciplined); 

function discipline($master, $disciple) { 
    $like_keys = array_intersect_key($master, $disciple); 
    foreach($like_keys as $key => &$value) { 
     $value = $disciple[$key]; 
    } 
    return $like_keys; 
} 
+0

zen编码的新含义? –

+0

太棒了!像魅力一样工作,谢谢! – NemoPS

+0

@WaleedKhan哈哈耶,正试图想出一个好名字的功能 –