Перейти к основному содержимому

array_position

Описание

Получает позицию элемента в массиве.

Синтаксис

array_position(any_array, any_element)

Параметры

  • any_array: массив для поиска.
  • any_element: выражение, которое соответствует элементу в массиве.

Возвращаемое значение

Возвращает позицию указанного элемента, если элемент найден в указанном массиве, и возвращает 0, если элемент не найден в массиве.

Примеры

  • Пример 1: Получение позиции элемента в массиве.
mysql> select array_position(["apple","orange","pear"], "orange");

+-----------------------------------------------------+

| array_position(['apple','orange','pear'], 'orange') |

+-----------------------------------------------------+

| 2 |

+-----------------------------------------------------+

1 row in set (0.01 sec)
  • Пример 2: Получение позиции NULL в массиве.
mysql> select array_position([1, NULL], NULL);
+--------------------------------+

| array_position([1,NULL], NULL) |

+--------------------------------+

| 2 |

+--------------------------------+

1 row in set (0.00 sec)
  • Пример 3: Получение позиции подмассива в многомерном массиве. Позиция может быть возвращена только когда подмассив, состоящий из тех же элементов в том же порядке, что и указанный подмассив, найден в многомерном массиве.
mysql> select array_position([[1,2,3], [4,5,6]], [4,5,6]);

+--------------------------------------------+

| array_position([[1,2,3],[4,5,6]], [4,5,6]) |

+--------------------------------------------+

| 2 |

+--------------------------------------------+

1 row in set (0.00 sec)



mysql> select array_position([[1,2,3], [4,5,6]], [4,6,5]);

+--------------------------------------------+

| array_position([[1,2,3],[4,5,6]], [4,6,5]) |

+--------------------------------------------+

| 0 |

+--------------------------------------------+

1 row in set (0.00 sec)

Ключевые слова

ARRAY_POSITION, ARRAY