backTrack($nums, 0, []); return $this->result; } function backTrack($nums, $step, $path) { if($step === count($nums)){ $this->result[] = $path; return; } $this->backTrack($nums, $step + 1, $path); $path[] = $nums[$step]; $this->backTrack($nums, $step + 1, $path); unset($path[count($path) - 1]); } } $model = new Solution(); var_dump($model->subsets([1, 2, 3]));