1
0
mirror of https://github.com/php/doc-ru.git synced 2026-04-25 08:18:16 +02:00
Files
archived-doc-ru/reference/pgsql/functions/pg-fetch-array.xml
T
2024-04-04 17:49:02 +03:00

173 lines
5.9 KiB
XML

<?xml version="1.0" encoding="utf-8"?>
<!-- EN-Revision: cfeb14a38b666f6a3fc73da70f4a90fbe115e53f Maintainer: aur Status: ready -->
<!-- Reviewed: no -->
<refentry xml:id="function.pg-fetch-array" xmlns="http://docbook.org/ns/docbook">
<refnamediv>
<refname>pg_fetch_array</refname>
<refpurpose>Возвращает строку результата в виде массива</refpurpose>
</refnamediv>
<refsect1 role="description">
&reftitle.description;
<methodsynopsis>
<type class="union"><type>array</type><type>false</type></type><methodname>pg_fetch_array</methodname>
<methodparam><type>PgSql\Result</type><parameter>result</parameter></methodparam>
<methodparam choice="opt"><type class="union"><type>int</type><type>null</type></type><parameter>row</parameter><initializer>&null;</initializer></methodparam>
<methodparam choice="opt"><type>int</type><parameter>mode</parameter><initializer><constant>PGSQL_BOTH</constant></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>
&pgsql.parameter.result;
</listitem>
</varlistentry>
<varlistentry>
<term><parameter>row</parameter></term>
<listitem>
<para>
Номер строки в result для выборки. Строки пронумерованы с 0 по возрастанию.
Если параметр опустили или передали &null;, функция выберет следующую строку.
</para>
</listitem>
</varlistentry>
<varlistentry>
<term><parameter>mode</parameter></term>
<listitem>
&pgsql.parameter.mode;
</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="changelog">
&reftitle.changelog;
<informaltable>
<tgroup cols="2">
<thead>
<row>
<entry>&Version;</entry>
<entry>&Description;</entry>
</row>
</thead>
<tbody>
&pgsql.changelog.result-object;
</tbody>
</tgroup>
</informaltable>
</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
-->