如果有人可以在这里帮助我,我将永远感激不尽,因为我现在已经花了大约 2 天的时间试图让它发挥作用。我想取两个多维数组并比较它们,然后删除任何重复的记录。
场景是:array2 中的值已经分配给用户的配置文件。array1 中的值是用户可以选择的所有可用值。我想比较这两者,以便仅将尚未分配的选项作为选项提供(留在数组中)...
$array1 = array(
[0] => array( [id] => 3 [name] => Eye Colour )
[1] => array( [id] => 1 [name] => Hair Colour )
[2] => array( [id] => 5 [name] => Hair Length )
[3] => array( [id] => 4 [name] => Height )
);
$array2 = array(
[0] => array( [attribute_id] => 3 [name] => Eye Colour [active] => 1 )
[1] => array( [attribute_id] => 5 [name] => Hair Length [active] => 1 ) )
);
PHP 的 array_diff() 函数不适用于多维数组,我进行了很好的搜索,但似乎找不到任何适合我的东西!
基于上述两个数组的结果应该是:
$array1 = array(
[0] => array( [id] => 1 [name] => Hair Colour )
[1] => array( [id] => 4 [name] => Height )
);
[active] 字段无关紧要,所以我只需要它来比较 ID 和 Name 字段。我意识到这两个 id 字段的名称不同,但是更改它们会很痛苦,因为它们是数据库列名。
它需要完全删除数组,而不仅仅是值。我在之前的尝试中遇到了问题,它把 array() 留在了那里,然后当我循环遍历生成用户可以选择的字段的数组时,这会导致问题。
请帮忙。我要给你买很多啤酒!:)
谢谢,史蒂夫