1. <?php
    2. class Solution {
    3. /**
    4. * 给定一个排序数组和一个目标值,在数组中找到目标值,并返回其索引。如果目标值不存在于数组中,返回它将会被按顺序插入的位置。(可以假设数组中无重复元素。)
    5. * @param array $nums
    6. * @param int $target
    7. * @return int
    8. */
    9. public function searchInsert(array &$nums, int $target) {
    10. if (!$nums) {
    11. return 0;
    12. }
    13. $count = count($nums);
    14. for ($i = 0; $i < floor($count / 2) + 1; $i++) {
    15. $left = $i;
    16. $right = $count - 1 - $i;
    17. if (($nums[$left] > $target) || ($nums[$right] < $target)) {
    18. return 0;
    19. }
    20. if ($nums[$left] == $target) {
    21. return $i;
    22. }
    23. if ($nums[$right] == $target) {
    24. return $right;
    25. }
    26. }
    27. return 0;
    28. }
    29. };
    30. $nums = [1 ,3 ,5 ,6 ,7];
    31. $cls = new Solution();
    32. $ret = $cls->searchInsert($nums, 6);
    33. echo $ret;