1
0
mirror of https://github.com/php/doc-ru.git synced 2026-03-27 01:02:19 +01:00
Files
archived-doc-ru/reference/pgsql/functions/pg-fetch-array.xml
2021-01-15 15:39:01 +03:00

172 lines
6.5 KiB
XML
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
<?xml version="1.0" encoding="utf-8"?>
<!-- EN-Revision: 86a02efda4560ee4b35fc870eba6f8c82cec4644 Maintainer: aur Status: ready -->
<!-- Reviewed: yes Maintainer: lex -->
<!-- $Revision$ -->
<refentry xmlns="http://docbook.org/ns/docbook" xml:id="function.pg-fetch-array">
<refnamediv>
<refname>pg_fetch_array</refname>
<refpurpose>Возвращает строку результата в виде массива</refpurpose>
</refnamediv>
<refsect1 role="description">
&reftitle.description;
<methodsynopsis>
<type>array</type><methodname>pg_fetch_array</methodname>
<methodparam><type>resource</type><parameter>result</parameter></methodparam>
<methodparam choice="opt"><type>int</type><parameter>row</parameter></methodparam>
<methodparam choice="opt"><type>int</type><parameter>result_type</parameter><initializer>PGSQL_BOTH</initializer></methodparam>
</methodsynopsis>
<para>
<function>pg_fetch_array</function> возвращает массив, соответствующий выбранной строке (записи).
</para>
<para>
<function>pg_fetch_array</function> расширенная версия функции
<function>pg_fetch_row</function>. Эта функция способна сохранить
данные не только с цифровыми индексами, но и с ассоциативными (имя поля).
По умолчанию хранит и те и другие.
</para>
&database.fetch-null;
<para>
<function>pg_fetch_array</function> выполняется незначительно медленнее чем
<function>pg_fetch_row</function>, но значительно проще в использовании.
</para>
</refsect1>
<refsect1 role="parameters">
&reftitle.parameters;
<para>
<variablelist>
<varlistentry>
<term><parameter>result</parameter></term>
<listitem>
<para>
Ресурс результата запроса PostgreSQL, возвращённый функцией <function>pg_query</function>,
<function>pg_query_params</function> или <function>pg_execute</function>
(и прочих).
</para>
</listitem>
</varlistentry>
<varlistentry>
<term><parameter>row</parameter></term>
<listitem>
<para>
Номер строки в result для выборки. Строки пронумерованы с 0 по возрастанию.
Если параметр опущен или передан &null; будет выбрана следующая строка.
</para>
</listitem>
</varlistentry>
<varlistentry>
<term><parameter>result_type</parameter></term>
<listitem>
<para>
Необязательный параметр для управления типом индексации возвращаемого
массива (<type>array</type>).
Параметр <parameter>result_type</parameter> обязателен и может принимать следующие
значения: <constant>PGSQL_ASSOC</constant>,
<constant>PGSQL_NUM</constant> и <constant>PGSQL_BOTH</constant>.
При указании <constant>PGSQL_NUM</constant>, <function>pg_fetch_array</function>
вернёт массив с числовыми индексами, в случае
<constant>PGSQL_ASSOC</constant> вернёт только ассоциативные индексы, а в случае
<constant>PGSQL_BOTH</constant> (используется по умолчанию) -
числовые и ассоциативные индексы.
</para>
</listitem>
</varlistentry>
</variablelist>
</para>
</refsect1>
<refsect1 role="returnvalues">
&reftitle.returnvalues;
<para>
Массив (<type>array</type>) с числовыми индексами (начиная с 0),
либо ассоциативными (по имени поля), либо с обеими типами индексов.
Каждое значение в массиве (<type>array</type>) представлено как
строка (<type>string</type>). Значение <literal>NULL</literal> возвращается как
&null;.
</para>
<para>
Функция возвращает &false;, если <parameter>row</parameter> выходит за рамки
количества строк в выборке, или отсутствия строк, или в случае любой другой ошибки.
Выборка из результата запроса, отличного от SELECT, также вернёт &false;.
</para>
</refsect1>
<refsect1 role="examples">
&reftitle.examples;
<para>
<example>
<title>Пример использования <function>pg_fetch_array</function></title>
<programlisting role="php">
<![CDATA[
<?php
$conn = pg_pconnect("dbname=publisher");
if (!$conn) {
echo "Произошла ошибка.\n";
exit;
}
$result = pg_query($conn, "SELECT author, email FROM authors");
if (!$result) {
echo "Произошла ошибка.\n";
exit;
}
$arr = pg_fetch_array($result, 0, PGSQL_NUM);
echo $arr[0] . " <- Row 1 Author\n";
echo $arr[1] . " <- Row 1 E-mail\n";
// Параметр row необязателен,
// для передечи result_type вместо row можно передать NULL.
// Успешные вызовы pg_fetch_array вернут следующий ряд.
$arr = pg_fetch_array($result, NULL, PGSQL_ASSOC);
echo $arr["author"] . " <- Row 2 Author\n";
echo $arr["email"] . " <- Row 2 E-mail\n";
$arr = pg_fetch_array($result);
echo $arr["author"] . " <- Row 3 Author\n";
echo $arr[1] . " <- Row 3 E-mail\n";
?>
]]>
</programlisting>
</example>
</para>
</refsect1>
<refsect1 role="seealso">
&reftitle.seealso;
<para>
<simplelist>
<member><function>pg_fetch_row</function></member>
<member><function>pg_fetch_object</function></member>
<member><function>pg_fetch_result</function></member>
</simplelist>
</para>
</refsect1>
</refentry>
<!-- Keep this comment at the end of the file
Local variables:
mode: sgml
sgml-omittag:t
sgml-shorttag:t
sgml-minimize-attributes:nil
sgml-always-quote-attributes:t
sgml-indent-step:1
sgml-indent-data:t
indent-tabs-mode:nil
sgml-parent-document:nil
sgml-default-dtd-file:"~/.phpdoc/manual.ced"
sgml-exposed-tags:nil
sgml-local-catalogs:nil
sgml-local-ecat-files:nil
End:
vim600: syn=xml fen fdm=syntax fdl=2 si
vim: et tw=78 syn=sgml
vi: ts=1 sw=1
-->