我有了国家的数组:数组相交在数组中的键?
array(
'AF'=>'AFGHANISTAN',
'AL'=>'ALBANIA',
'DZ'=>'ALGERIA',
'AS'=>'AMERICAN SAMOA',
);
和我有了一些键在它
array('AL', 'DZ');
我要打电话,将采取两个数组作为参数的函数另一个数组并返回
array(
'AL'=>'ALBANIA',
'DZ'=>'ALGERIA',
);
我知道PHP内置函数比较键或值,但似乎这些功能都指望你哈有两个1D阵列或两个2D阵列。
我可以遍历array_keys()
的第一阵列和做每个键in_array()
检查,但似乎真的inefficent ...
我不得不看两次,但这是一个非常好的简短解决方案。 +1 – 2012-07-25 07:35:03
@deceze - 好的解决方案 - 是否有一种有效的方法来计算新数组中的所有值是否匹配(例如,在这里检查:$ selection = array('AL','AF','DZ',' AS'); – JM4 2013-07-16 16:48:30
@ JM4是的,做一个'diff'而不是'intersect'。 – deceze 2013-07-16 16:56:33