Remove duplicates based on a specific key

不打扰是莪最后的温柔 提交于 2019-12-05 20:05:14

This function should do the job:

function array_key_unique($arr, $key) {
    $uniquekeys = array();
    $output     = array();
    foreach ($arr as $item) {
        if (!in_array($item[$key], $uniquekeys)) {
            $uniquekeys[] = $item[$key];
            $output[]     = $item;
        }
    }
    return $output;
}

And applied to the particular problem mentioned above:

$X = array_key_unique($A, 'name');

Try this..

 for ($i = 0; $i < count($A); $i++)
    {
      $repeated= null;
      for ($j = $i+1; $j < count($A); $j++)
      {
        if (strcmp($A[$j]['name'],$A[$i]['name']) === 0)
        {
          $repeated= $j;
          break;
        }
      }
      if (!is_null($repeated))
        array_splice($A,$repeated,1);
    }
    print_r($A);
易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!