John Davidson

php - Group matching and unique array elements


I have an array in php

bobby, kevin, bill, kevin, brian, bobby, bobby

I am trying to anonymise these into

bidder1, bidder2, bidder3, bidder2, bidder4, bidder1, bidder1

I have tried searching the array and try to keep track of the key then piece it back together but I know there is an easier way.

Thanks in advance

My Answer:
You can achieve this by using a combination of array_unique() and array_values() functions in PHP. Here's an example code snippet to anonymize the array elements:

$originalArray = ['bobby', 'kevin', 'bill', 'kevin', 'brian', 'bobby', 'bobby'];

// Get unique elements from the original array
$uniqueElements = array_unique($originalArray);

// Create a mapping of original elements to unique elements
$mapping = array_combine($uniqueElements, ['bidder1', 'bidder2', 'bidder3', 'bidder4']);

// Anonymize the original array
$anonymizedArray = array_map(function($element) use ($mapping) {
return $mapping[$element];
}, $originalArray);


This code snippet will output:

[0] => bidder1
[1] => bidder2
[2] => bidder3
[3] => bidder2
[4] => bidder4
[5] => bidder1
[6] => bidder1

This way, you can easily anonymize the array elements without keeping track of keys manually.

Rate this post

3 of 5 based on 5955 votes


© 2024 - Personal Blogs Platform. All Rights Reserved.
Create blog  |  Privacy Policy  |  Terms & Conditions  |  Contact Us