backTrack($nums, 0, []); return $this->result; } function backTrack($nums, $step, $path) { if($step == count($nums)){ $arr = $path; $this->result[] = $arr; return; } for ($i = 0; $i < count($nums); $i++){ if(in_array($nums[$i], $path)){ continue; } $path[] = $nums[$i]; $this->backTrack($nums, $step + 1, $path); array_pop($path); } } }