<?phpclass Solution { /** * [4,5,6,7,0,1,2] * * @param Integer[] $nums * @param Integer $target * @return Integer */ function search($nums, $target) { if (!$nums) return -1; $left = 0; $right = count($nums) - 1; for ($i = 0; $i < count($nums); $i++) { $mid = floor(($right - $left) / 2) + $left; if ($nums[$mid] == $target) { return $mid; } if ($nums[$left] < $nums[$mid]) { if ($nums[$left] == $target) { return $left; } else if ($nums[$left] > $target) { $left = $mid + 1; } else { $right = $mid - 1; } } if ($nums[$right] > $nums[$mid]) { if ($nums[$right] == $target) { return $right; } else if ($nums[$right] < $target) { $right = $mid - 1; } else { $left = $mid + 1; } } } return -1; }}$nums = [4,5,6,7,0,1,2];$target = 3;$cls = new Solution();$index = $cls->search($nums, $target);echo $index;