input: Write a function to implement a supervised learning algorithm in Python for a classification task using the iris dataset. The function should load the dataset, split it into training and test sets, preprocess the data, define a KNeighborsClassifier, fit the model, make predictions, and evaluate the model's performance using a confusion matrix. If applicable, return the confusion matrix as output.
  assert iris_classification("iris.csv")==[[11, 0, 0], [0, 13, 0], [0, 0, 6]]
  assert iris_classification("iris.csv")==[[11, 0, 0], [0, 13, 0], [0, 0, 6]]
  assert iris_classification("")==None
  assert iris_classification("nonexistent.csv")==None
  assert iris_classification("iris.csv")==[[11, 0, 0], [0, 13, 0], [0, 0, 6]]
output: def iris_classification(file_path):
      if not file_path:
          return None
      try:
          from sklearn.datasets import load_iris
          from sklearn.model_selection import train_test_split
          from sklearn.preprocessing import StandardScaler
          from sklearn.neighbors import KNeighborsClassifier
          from sklearn.metrics import confusion_matrix
          import pandas as pd
          
          data = load_iris()
          X = data.data
          y = data.target
          
          X_train, X_test, y_train, y_test = train_test_split(X, y, test_size=0.3, random_state=42)
          
          scaler = StandardScaler()
          X_train = scaler.fit_transform(X_train)
          X_test = scaler.transform(X_test)
          
          knn = KNeighborsClassifier(n_neighbors=3)
          knn.fit(X_train, y_train)
          
          y_pred = knn.predict(X_test)
          
          cm = confusion_matrix(y_test, y_pred)
          return cm.tolist()
      except Exception:
          return None