<?php
// Simple function to remove duplicates by key search in multidimensional array
function keepFirstRemoveDuplicates($array,$key_search)
{
$tracking_keywords = array(); $sorted_products = array();
foreach ($array as $key => $value) :
$key_itself = $value[$key_search]; // = PC or MAC
// Check if the key has already been used
if(!in_array($key_itself,$tracking_keywords)) $sorted_products[] = array( 'product' => $value['produkt'], 'type' => $value['type'] );
// Insert all used key's to avoid duplicates in a new array
$tracking_keywords[] = $key_itself;
endforeach;
return $sorted_products; // Returns an array
}
// The complete product list
$products = [
['produkt' => 'pc', 'type' => 'laptop1'],
['produkt' => 'pc', 'type' => 'stasjonær'],
['produkt' => 'pc', 'type' => 'laptop'],
['produkt' => 'pc', 'type' => 'screen'],
['produkt' => 'mac', 'type' => 'laptop1'],
['produkt' => 'mac', 'type' => 'laptop'],
['produkt' => 'mac', 'type' => 'screen']
];
// Sorted products
$sorted_products = keepFirstRemoveDuplicates($products,'produkt');
// Clean listing output
echo "<pre>";
echo "</pre>";
PD9waHAKCi8vIFNpbXBsZSBmdW5jdGlvbiB0byByZW1vdmUgZHVwbGljYXRlcyBieSBrZXkgc2VhcmNoIGluIG11bHRpZGltZW5zaW9uYWwgYXJyYXkKZnVuY3Rpb24ga2VlcEZpcnN0UmVtb3ZlRHVwbGljYXRlcygkYXJyYXksJGtleV9zZWFyY2gpCnsKCiAgICAkdHJhY2tpbmdfa2V5d29yZHMgPSBhcnJheSgpOwogICAgJHNvcnRlZF9wcm9kdWN0cyA9IGFycmF5KCk7CgogICAgZm9yZWFjaCAoJGFycmF5IGFzICRrZXkgPT4gJHZhbHVlKSA6CgogICAgICAgICRrZXlfaXRzZWxmID0gJHZhbHVlWyRrZXlfc2VhcmNoXTsgLy8gPSBQQyBvciBNQUMKCiAgICAgICAgLy8gQ2hlY2sgaWYgdGhlIGtleSBoYXMgYWxyZWFkeSBiZWVuIHVzZWQKICAgICAgICBpZighaW5fYXJyYXkoJGtleV9pdHNlbGYsJHRyYWNraW5nX2tleXdvcmRzKSkKICAgICAgICAgICAgJHNvcnRlZF9wcm9kdWN0c1tdID0gYXJyYXkoICdwcm9kdWN0JyA9PiAkdmFsdWVbJ3Byb2R1a3QnXSwgJ3R5cGUnID0+ICR2YWx1ZVsndHlwZSddICk7CgogICAgICAgIC8vIEluc2VydCBhbGwgdXNlZCBrZXkncyB0byBhdm9pZCBkdXBsaWNhdGVzIGluIGEgbmV3IGFycmF5CiAgICAgICAgJHRyYWNraW5nX2tleXdvcmRzW10gPSAka2V5X2l0c2VsZjsKCiAgICBlbmRmb3JlYWNoOwoKICAgIHJldHVybiAkc29ydGVkX3Byb2R1Y3RzOyAvLyBSZXR1cm5zIGFuIGFycmF5Cgp9CgovLyBUaGUgY29tcGxldGUgcHJvZHVjdCBsaXN0CiRwcm9kdWN0cyA9IFsKICAgIFsncHJvZHVrdCcgPT4gJ3BjJywgJ3R5cGUnID0+ICdsYXB0b3AxJ10sCiAgICBbJ3Byb2R1a3QnID0+ICdwYycsICd0eXBlJyA9PiAnc3Rhc2pvbsOmciddLAogICAgWydwcm9kdWt0JyA9PiAncGMnLCAndHlwZScgPT4gJ2xhcHRvcCddLAogICAgWydwcm9kdWt0JyA9PiAncGMnLCAndHlwZScgPT4gJ3NjcmVlbiddLAogICAgWydwcm9kdWt0JyA9PiAnbWFjJywgJ3R5cGUnID0+ICdsYXB0b3AxJ10sCiAgICBbJ3Byb2R1a3QnID0+ICdtYWMnLCAndHlwZScgPT4gJ2xhcHRvcCddLAogICAgWydwcm9kdWt0JyA9PiAnbWFjJywgJ3R5cGUnID0+ICdzY3JlZW4nXQpdOwoKLy8gU29ydGVkIHByb2R1Y3RzCiRzb3J0ZWRfcHJvZHVjdHMgPSBrZWVwRmlyc3RSZW1vdmVEdXBsaWNhdGVzKCRwcm9kdWN0cywncHJvZHVrdCcpOwoKLy8gQ2xlYW4gbGlzdGluZyBvdXRwdXQKZWNobyAiPHByZT4iOwpwcmludF9yKCRzb3J0ZWRfcHJvZHVjdHMpOwplY2hvICI8L3ByZT4iOw==