Welcome to collectivesolver - Programming & Software Q&A with code examples. A website with trusted programming answers. All programs are tested and work.

Contact: aviboots(AT)netvision.net.il

Semrush - keyword research tool

Turn ChatGPT, Claude, Gemini, And CoPilot Into Your Personal Assistant, Business Coach, Content Creator, And More

AFFILIATE MARKETING Your all-in-one performance engine Manage affiliates, creators, and customer referrals in one unified platform—turning every partnership into measurable growth
Secure & Reliable Web Hosting, Free Domain, Free SSL, 1-Click WordPress Install, Expert 24/7 Support

Boost your online presence with premium web hosting and servers

Disclosure: My content contains affiliate links.

42,690 questions

55,442 answers

573 users

How to flatten a 2D array into a sorted one-dimensional array with unique values in PHP

1 Answer

0 votes
// Function that flattens a 2D array, sorts it, removes duplicates,
// and returns a new sorted array with unique values
function flattenSortUnique(array $array2d): array {

    // 1. Flatten the 2D array into a 1D array
    $flat = [];
    foreach ($array2d as $row) {
        $flat = array_merge($flat, $row);
    }

    // 2. Sort the flattened array
    sort($flat);

    // 3. Remove duplicates using array_unique
    $unique = array_unique($flat);

    return array_values($unique); // reindex
}

$array2d = [
    [4, 3, 3, 2, 4],
    [30, 10, 10],
    [10, 30],
    [1, 1, 6, 7, 7, 7, 8],
];

// Call the function
$arr = flattenSortUnique($array2d);

// Print results
foreach ($arr as $n) {
    echo $n . "\t";
}



/*
run

1	2	3	4	6	7	8	10	30	

*/

 



answered Jun 16 by avibootz

Related questions

...