input: Write a function to format a two-dimensional array as a table. The function should take a list of lists as input and print it in a tabular format where each column is aligned based on the longest string in that column.
  
  def printTable(array):
      # find the longest string in each of the inner lists
      # so we can format the output
      col_width = [max(len(str(x)) for x in col) for col in array]
      for row in array:
          print("  ".join(str(x).ljust(col_width[i]) for i, x in enumerate(row)))
  
  # Test cases
  assert printTable([[1, 2, 3], [4, 5, 6], [7, 8, 9]]) == None
  assert printTable([[1, 2, 3], [40, 500, 6], [700, 8, 9000]]) == None
  assert printTable([["a", "ab", "abc"], ["abcd", "e", "fgh"]]) == None
  assert printTable([]) == None
output: def printTable(array):
      if not array:
          return
      col_width = [max(len(str(x)) for x in col) for col in zip(*array)]
      for row in array:
          print("  ".join(str(x).ljust(col_width[i]) for i, x in enumerate(row)))