How to find repeated rows of a matrix in PHP

1 Answer

0 votes
function rowToString($row) {
    return implode(",", $row);
}

function findRepeatedRows($matrix) {
    $rowCount = [];

    foreach ($matrix as $row) {
        $pattern = rowToString($row);
        if (isset($rowCount[$pattern])) {
            $rowCount[$pattern]++;
        } else {
            $rowCount[$pattern] = 1;
        }
    }

    echo "Repeated Rows:\n";
    foreach ($rowCount as $pattern => $count) {
        if ($count > 1) {
            echo "Row: [$pattern] - Repeated $count times\n";
        }
    }
}

$matrix = [
    [1, 2, 3],
    [4, 5, 6],
    [1, 2, 3],
    [7, 8, 9],
    [4, 5, 6],
    [0, 1, 2],
    [4, 5, 6]
];

findRepeatedRows($matrix);



/*
run:

Repeated Rows:
Row: [1,2,3] - Repeated 2 times
Row: [4,5,6] - Repeated 3 times

*/

 



answered May 24, 2025 by avibootz
...