Certo
Commento riga per riga

Codice PHP:
// identifico un valore massimo
tot 6;
// creo l'array nums
nums = new Array();
// assegno ad ogni elemento dell'array un numero da 1 a tot
for (var id 0id<totid++) {
    
nums[id] = id+1;
}
// funzione sudoku, ovvero "mai lo stesso numero"
function sudoku() {
    
// calcolo un numero casuale compreso
    // tra 0 e la lunghezza corrente dell'array
    
var rnd random(nums.length);
    
// ottengo il valore dell'elemento che ha come indice
    // il numero casuale calcolato
    
var val nums[rnd];
    
// elimino dall'array l'elemento con tale indice
    // riducendo pertanto la lunghezza dell'array stessa
    
nums.splice(rnd1);
    
// restituisco il valore ottenuto
    
return val;
}
// ogni volta che si richiama la funzione sudoku sarà restituito
// un numero compreso tra i valori restanti dell'array,
// dopo di che l'elemento relativo a tale valore sarà eliminato 
// dall'array che andrà, di volta in volta, a ridimensionarsi
// e a indicizzare nuovamente i valori restanti, fino a quando
// non ci saranno più elementi nell'array 
Se ad esempio si imposta tot=6, la funzione sudoku potrà essere richiamata 6 volte in cui saranno restituiti 6 numeri diversi.
Dopo la sesta volta che si richiama la funzione sarà restituito il valore undefined.

Tutto qui