Search code examples
phparraysunique

PHP unique array by value


I have an array in PHP that looks like this:

  [0]=>
       array(2) {
           ["name"]=>
              string(9) "My_item"
           ["url"]=>
              string(24) "http://www.my-url.com/"
       }
  [1]=>
     array(2) {
         ["name"]=>
             string(9) "My_item"
         ["url"]=>
            string(24) "http://www.my-url2.com/"
     }

The two values in "name" are the same in this two items. I want to sort out duplicates like this.

How do I create an unique array by checking the "name" value?


Solution

  • Basically

    $unique_array = [];
    foreach($your_array as $element) {
        $hash = $element[field-that-should-be-unique];
        $unique_array[$hash] = $element;
    }
    $result = array_values($unique_array);