[請益] 一段script

看板PHP作者 (yingshow)時間15年前 (2010/08/09 12:29), 編輯推噓1(101)
留言2則, 2人參與, 最新討論串1/1
function is_correct_row($row,$sudoku){ for($x=0;$x<=8;$x++){ $row_temp[$x] = $sudoku[$row*9+$x]; } return count(array_diff(array(1,2,3,4,5,6,7,8,9),$row_temp)) == 0; } function is_correct_col($col,$sudoku){ for($x=0;$x<=8;$x++){ $col_temp[$x] = $sudoku[$col+$x*9]; } return count(array_diff(array(1,2,3,4,5,6,7,8,9),$col_temp)) == 0; } function is_correct_block($block,$sudoku){ for($x=0;$x<=8;$x++){ $block_temp[$x] = $sudoku[floor($block/3)*27+$x%3+9*floor($x/3)+3*($block%3)]; } return count(array_diff(array(1,2,3,4,5,6,7,8,9),$block_temp)) == 0; } function is_solved_sudoku($sudoku){ for($x=0;$x<=8;$x++){ if(!is_correct_block($x,$sudoku) or !is_correct_row($x,$sudoku) or !is_correct_col($x,$sudoku)){ return false; break; } } return true; } -- 在函數is_solved_sudoku($sudoku)裡的變數$x跟is_correct_block($x,$sudoku) is_correct_row($x,$sudoku) is_correct_col($x,$sudoku) 是互通的嗎? 如果不一樣,那總組合是不是有9*9*9*9種? -- 另外請問什麼是自由變數,什麼是局部變數,又什麼是閉包(closure)? -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 114.44.149.115

08/09 13:52, , 1F
我猜 閉包應該是指{} 所以開包是?真是有趣的翻譯
08/09 13:52, 1F

08/09 14:09, , 2F
以上的 $x 在各函式裏都是局部變數, 各函式都是獨立的.
08/09 14:09, 2F
文章代碼(AID): #1CNuGQET (PHP)
文章代碼(AID): #1CNuGQET (PHP)