input: Write a function to perform matrix multiplication on two given matrices. The function should return the resulting matrix. If the dimensions of the matrices do not allow for multiplication, return None.
  
  assert matrix_multiplication([[1, 2], [3, 4]], [[5, 6], [7, 8]])==[[19, 22], [43, 50]]
  assert matrix_multiplication([[1, 2]], [[5], [6]])==[[17]]
  assert matrix_multiplication([[1, 2]], [[5, 6], [7, 8]]) is None
  assert matrix_multiplication([[1], [2]], [[3, 4]]) is None
  assert matrix_multiplication([], []) is None
output: def matrix_multiplication(A, B):
      if len(A) == 0 or len(B) == 0 or len(A[0]) != len(B):
          return None
      result = [[0 for _ in range(len(B[0]))] for _ in range(len(A))]
      for i in range(len(A)):
          for j in range(len(B[0])):
              for k in range(len(B)):
                  result[i][j] += A[i][k] * B[k][j]
      return result