获取两个阵列中具有不同值的元素
问题描述:
假设您有两个用户角色数组及其状态(开或关)。获取两个阵列中具有不同值的元素
$current = array(1 => true, 2 => false, 3 => false, ...);
$wanted = array(1 => true, 2 => true, 3 => false, ...);
有没有一个PHP函数来获得这两个区别的数组?在这种情况下,我想这个落得:
array(2 => true, ...);
尝试array_diff
和array_diff_assoc
,但那些只检查是否存在的键或值,当然他们会同时存在于。
答
我不知道你试过了什么,但你必须错误地使用了array_diff_assoc()
。
$current = array(1 => true, 2 => false, 3 => false);
$wanted = array(1 => true, 2 => true, 3 => false);
$diff = array_diff_assoc($wanted, $current);
// array(2 => true)
+0
是的,不知道我一直在做什么。感谢您回答。代码肯定得到了很多更清洁,嘿嘿。 – Svish 2012-02-06 08:59:22
老好人'foreach'怎么样? – zerkms 2012-02-05 23:29:45
'array_diff_assoc($ wanted,$ current)'有什么问题? – salathe 2012-02-05 23:36:23
http://codepad.viper-7.com/Fcvj48 – Gordon 2012-02-05 23:36:56