oci_fetch_array

(PHP 5, PHP 7, PHP 8, PECL OCI8 >= 1.1.0)

oci_fetch_array — Повертає наступний рядок із результату запиту у вигляді асоціативного чи нумерованого масиву

Опис

oci_fetch_array(resource $statement, int $mode = OCI_BOTH | OCI_RETURN_NULLS): array|false

Повертає масив, що містить наступний рядок результату запиту. Кожен елемент масиву відповідає одному полю рядка. Ця функція зазвичай викликається в циклі, доки вона не поверне**false**що вказує на відсутність наступних рядків.

Якщо statementвідповідає PL/SQL блоку, що повертається Oracle Database Implicit Result Sets, тоді буде послідовно вилучено ряди з усіх наборів. Якщоstatementповертається зoci_get_implicit_resultset()тоді повернеться лише частина рядів для одного дочірнього запиту.

Для отримання детальнішої інформації щодо відображення типів даних модуля OCI8 зверніться до типів даних, що підтримуються драйвером

Список параметрів

statement

Коректний ідентифікатор виразу OCI8, отриманий з oci_parse() та виконаний функцією oci_execute(), або ідентифікатор виразу REF CURSOR

Також може бути ідентифікатором, що повертається функцієюoci_get_implicit_resultset()

mode

Необов'язковий другий параметр може складатися з будь-якої комбінації наступних констант:

****oci_fetch_array()Modes

КонстантаОпис
OCI_BOTHПовертає масив як з асоціативними та числовими індексами. Ця константа те саме, що й OCI_ASSOCOCI_NUM, і вона використовується за замовчуванням.
OCI_ASSOCПовертає асоціативний масив.
OCI_NUMПовертає нумерований масив.
OCI_RETURN_NULLSСтворює елементи для рівних полів null. . Значення елемента дорівнюватиме PHP null
OCI_RETURN_LOBSПовертає вміст полів типу LOB замість LOB покажчика.

По умолчаниюmodeравен**OCI_BOTH**

Використовуйте оператор додавання "+", щоб вказати більше одного режиму.

Значення, що повертаються

Повертає масив з асоціативними та/або числовими ключами. Якщо більше немає рядків уstatement, то повертається false

За замовчуванням поляLOBповертаються як покажчики LOB.

Поля типуDATEповертаються у форматі рядків, що відповідає поточному формату дати. Формат за промовчанням може бути змінений за допомогою змінних оточення Oracle, таких якNLS_LANG, або попереднім виконанням командиALTER SESSION SET NLS_DATE_FORMAT

Регістронезалежні (за замовчуванням у Oracle) імена полів матимуть асоціативні індекси у верхньому регістрі в результуючому масиві. Регістрозалежні імена полів матимуть індекси з тими самими регістрами символів, як і саме поле. Використовуйтеvar_dump()для результуючого масиву, щоб перевірити відповідність регістрів символів кожному за запиту.

Ім'я таблиці не входить до асоціативного індексу. Якщо ваш запит містить два різні поля з однаковим ім'ям, використовуйте**OCI_NUM**або додайте аліас для поля у запит, щоб імена стали унікальними (дивіться приклад #7). Інакше буде повернуто лише одне поле.

Приклади

Приклад #1oci_fetch_array()сOCI_BOTH****

Loading...

Приклад #2oci_fetch_array()сOCI_NUM****

Loading...

Приклад #3oci_fetch_array()сOCI_ASSOC****

Loading...

Приклад #4oci_fetch_array()сOCI_RETURN_NULLS****

Loading...

Приклад #5oci_fetch_array()сOCI_RETURN_LOBS****

Loading...

Приклад #6oci_fetch_array()з реєстрозалежними назвами полів

Loading...

Приклад #7oci_fetch_array()з полями з однаковими назвами

Loading...

Приклад #8oci_fetch_array()з полямиDATE

Loading...

Приклад #9oci_fetch_array()сREF CURSOR

Loading...

Приклад #10 Посічний висновок за допомогоюoci_fetch_array()використовуючиLIMIT-подібний запит

Loading...

Приклад #11oci_fetch_array()c Oracle Database Implicit Result Sets

Loading...

Примітки

Зауваження :

Індекси асоціативного масиву необхідно наводити у верхній регістр для стандартних полів Oracle, створених із реєстронезалежними назвами.

Зауваження :

Для запитів, що повертають велику кількість рядів, продуктивність може бути значно збільшена за допомогою збільшення значення опції oci8.default_prefetchили использованияoci_set_prefetch()

Зауваження :

Функцияoci_fetch_array() трохиповільнішеoci_fetch_assoc() або oci_fetch_row(), але гнучкіша.

Дивіться також

  • oci_fetch() - Вибирає наступний рядок із результату в буфер
  • oci_fetch_all() - Вибирає всі рядки з результату запиту до двомірного масиву
  • oci_fetch_assoc() - Повертає наступний рядок із результату запиту у вигляді асоціативного масиву
  • oci_fetch_object() - Повертає наступний рядок із результату запиту у вигляді об'єкта
  • oci_fetch_row() - Повертає наступний рядок із результату запиту у вигляді нумерованого масиву
  • oci_set_prefetch() - Встановлює кількість рядків, які будуть автоматично вибрані у буфер