鍍金池/ 問答/PHP/ 二維數(shù)組比較的問題?

二維數(shù)組比較的問題?

$data = [
    ['foo' => 'bar', 'x' => 'foo'],
    ['foo' => 'bar1', 'x' => 'foo1'],
    ['foo' => 'bar', 'x' => 'foo2']
];

我需要把這個數(shù)組中的foo重復的數(shù)組刪除,只保留下來一條就行。怎么做?

$data = [
    ['foo' => 'bar', 'x' => 'foo'],
    ['foo' => 'bar1', 'x' => 'foo1'],
];
回答
編輯回答
短嘆
        $tmp  = [];
        foreach ($data as $key => $datum) {
            if (in_array($datum['foo'], $tmp)) {
                unset($data[$key]);
                continue;
            }
            $tmp[] = $datum['foo'];
        }
2018年1月21日 16:51
編輯回答
擱淺
//$arr = array_merge($data1,$data2);
//合并需要合并的倆個數(shù)組
  $key = 'foo';//去重條件
  $tmp_arr = array();//聲明數(shù)組
  //var_dump($data);
 foreach($data as $k => $v)
 {
  if(in_array($v[$key], $tmp_arr))
//搜索$v[$key]是否在$tmp_arr數(shù)組中存在,若存在返回true
  {
   unset($data[$k]);
   //刪除掉數(shù)組($arr)里相同ID的數(shù)組
  }
 else {
   $tmp_arr[] = $v[$key];
   //記錄已有的id
  }
 }
var_dump($data);
2017年1月30日 12:44