function columnsHaveUniqueNumbers($matrix) {
if (empty($matrix) || empty($matrix[0])) {
return true;
}
$numCols = count($matrix[0]);
for ($j = 0; $j < $numCols; $j++) {
$columnSet = [];
foreach ($matrix as $row) {
if (in_array($row[$j], $columnSet)) {
return false;
}
$columnSet[] = $row[$j];
}
}
return true;
}
$matrix1 = [
[1, 4, 7],
[2, 5, 8],
[3, 6, 9]
];
$matrix2 = [
[1, 4, 7],
[2, 4, 8],
[3, 6, 9]
];
echo "Matrix 1 columns have unique numbers: " . (columnsHaveUniqueNumbers($matrix1) ? "true" : "false") . "\n";
echo "Matrix 2 columns have unique numbers: " . (columnsHaveUniqueNumbers($matrix2) ? "true" : "false") . "\n";
/*
run:
Matrix 1 columns have unique numbers: true
Matrix 2 columns have unique numbers: false
*/