def binary_search_iterative(array, item):
    """Return index of item in sorted array or None if item is not found."""
    # set large and small pointers (each end of arr)
    small = 0
    large = len(array) - 1
    # while pointers are not the same
    while small != large:
        # set middle index
        mid = (small + large) // 2
        # check if item is at mid index
        if array[mid] == item:
            return mid
        # check if item in index greater than item
        elif array[mid] > item:
            # check if more to search
            if mid == small:
                return None
            # update large index
            large = mid - 1
        # check if item at index less than item
        elif array[mid] < item:
            # check if more array to search
            if mid == large:
                return None
            # update small index
            small = mid + 1
    # check if last item is item
    if array[large] == item:
        return large
    # item not in list
    else:
        return None