3v4l.org

run code in 300+ PHP versions simultaneously
<?php class SudokuSolver { const NUMBERS = "123456789"; protected $sudokuColumns; public function __construct ($sudoku) { $this->sudokuColumns = $sudoku; } // could be static as well public function printOut ($sudoku) { foreach ($sudoku as $column) { foreach ($column as $cell) { echo "|"; if (null !== $cell) { echo $cell; } else { echo " "; } } echo "|\n"; } } public function solve() { $this->checkConsistenz(); } protected function checkConsistenz () { $columns = $this->sudokuColumns; // check rows -> own method $rows = array(); foreach ($columns as $columnIndex => $column) { foreach ($column as $rowIndex => $cell) { $rows[$rowIndex][$columnIndex] = $cell; } //$this->printOut($rows); } foreach ($rows as $rowIndex => $row) { var_export($this->checkRow($rowIndex,$row)); } } protected function checkRow ($rowIndex, $row) { $numbers = self::NUMBERS; echo "checking $rowIndex..\n"; foreach ($row as $column) { echo "$column , $numbers\n"; if (false === strpos($column,$numbers)) { return false; } $numbers = str_replace($col,'',$numbers); } return true; } } $sudoku = array(); $sudoku[] = array(null,3,null, null,null,null, null,null,null); $sudoku[] = array(null,null,null, 1,9,5, null,null,null); $sudoku[] = array(null,null,8, null,null,null, null,6,null); $sudoku[] = array(8,null,null, null,6,null, null,null,null); $sudoku[] = array(4,null,null, 8,null,null, null,null,1); $sudoku[] = array(null,null,null ,null,2,null, null,null,null); $sudoku[] = array(null,6,null, null,null,null, 2,8,null); $sudoku[] = array(null,null,null, 4,1,9, null,null,5); $sudoku[] = array(null,null,null, null,null,null, null,7,null); $sudokuSolver = new SudokuSolver($sudoku); $sudokuSolver->printOut($sudoku); $sudokuSolver->solve($sudoku);
Output for git.master, git.master_jit, rfc.property-hooks
| |3| | | | | | | | | | | |1|9|5| | | | | | |8| | | | |6| | |8| | | |6| | | | | |4| | |8| | | | |1| | | | | |2| | | | | | |6| | | | |2|8| | | | | |4|1|9| | |5| | | | | | | | |7| | checking 0.. , 123456789 Deprecated: strpos(): Passing null to parameter #1 ($haystack) of type string is deprecated in /in/rrPSc on line 57 falsechecking 1.. 3 , 123456789 falsechecking 2.. , 123456789 Deprecated: strpos(): Passing null to parameter #1 ($haystack) of type string is deprecated in /in/rrPSc on line 57 falsechecking 3.. , 123456789 Deprecated: strpos(): Passing null to parameter #1 ($haystack) of type string is deprecated in /in/rrPSc on line 57 falsechecking 4.. , 123456789 Deprecated: strpos(): Passing null to parameter #1 ($haystack) of type string is deprecated in /in/rrPSc on line 57 falsechecking 5.. , 123456789 Deprecated: strpos(): Passing null to parameter #1 ($haystack) of type string is deprecated in /in/rrPSc on line 57 falsechecking 6.. , 123456789 Deprecated: strpos(): Passing null to parameter #1 ($haystack) of type string is deprecated in /in/rrPSc on line 57 falsechecking 7.. , 123456789 Deprecated: strpos(): Passing null to parameter #1 ($haystack) of type string is deprecated in /in/rrPSc on line 57 falsechecking 8.. , 123456789 Deprecated: strpos(): Passing null to parameter #1 ($haystack) of type string is deprecated in /in/rrPSc on line 57 false

This tab shows result from various feature-branches currently under review by the php developers. Contact me to have additional branches featured.

Active branches

Archived branches

Once feature-branches are merged or declined, they are no longer available. Their functionality (when merged) can be viewed from the main output page


preferences:
50.39 ms | 404 KiB | 8 Q