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_ASSOC OCI_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() - Встановлює кількість рядків, які будуть автоматично вибрані у буфер