Rya*_*yan 7 php arrays unique multidimensional-array
我一直在试着这几个小时.
我有两个多维数组
$newData (
[0] => Array(
[id] => 1
[name] => John
[sex] => male
)
[1] => Array(
[id] => 2
[name] => Kenny
[sex] => male
)
[2] => Array(
[id] => 3
[name] => Sarah
[sex] => female
)
[3] => Array(
[id] => 4
[name] => George
[sex] => male
)
)
$oldData (
[0] => Array(
[id] => 3
[name] => Sarah
[sex] => female
)
[1] => Array(
[id] => 4
[name] => George
[sex] => male
)
[2] => Array(
[id] => 5
[name] => Peter
[sex] => male
)
[3] => Array(
[id] => 6
[name] => Lexi
[sex] => female
)
)
Run Code Online (Sandbox Code Playgroud)
我需要比较$ newData和$ oldData并仅获取第一个公共数组之前的新数据.
我的$ newData将是:
$newData (
[0] => Array(
[id] => 1
[name] => John
[sex] => male
)
[1] => Array(
[id] => 2
[name] => Kenny
[sex] => male
)
Run Code Online (Sandbox Code Playgroud)
)
我已尝试过array_unique中的所有内容,如果比较ID键但没有任何工作正常.
我需要首先合并它们吗?映射他们?呸,我不知道,我迷失了.
任何帮助都是极好的
我会做一个嵌套的foreach循环.我不知道你正在使用哪种编程语言,但假设它是PHP($):
$tmpArray = array();
foreach($newData as $data1) {
$duplicate = false;
foreach($oldData as $data2) {
if($data1['id'] === $data2['id'] && $data1['name'] === $data2['name'] && $data1['sex'] === $data2['sex']) $duplicate = true;
}
if($duplicate === false) $tmpArray[] = $data1;
}
Run Code Online (Sandbox Code Playgroud)
然后,您在$tmpArray变量中拥有所需的数组.你当然可以做到$newData = $tmpArray;.