pg_fetch_array

(PHP 4, PHP 5, PHP 7, PHP 8)

pg_fetch_arrayBusca uma linha como um array

Descrição

pg_fetch_array(PgSql\Result $result, ?int $row = null, int $mode = PGSQL_BOTH): array|false

pg_fetch_array() retorna um array que corresponde à linha buscada (registro).

pg_fetch_array() é uma versão estendida de pg_fetch_row(). Além de armazenar os dados nos índices numéricos (número do campo) no array de resultados, também pode armazenar os dados usando índices associativos (nome do campo). Ele armazena ambos os índices por padrão.

Note: Esta função define campos NULL como o valor null do PHP.

pg_fetch_array() NÃO é significativamente mais lento do que usar pg_fetch_row() e é significativamente mais fácil de usar.

Parâmetros

result

Uma instância de PgSql\Result, retornada por pg_query(), pg_query_params() ou pg_execute() (entre outras).

row

Número da linha no resultado a ser buscado. As linhas são numeradas de 0 para cima. Se omitido ou null, a próxima linha será buscada.

mode

Um parâmetro opcional que controla como o array retornado será indexado. mode é uma constante e pode assumir os seguintes valores: PGSQL_ASSOC, PGSQL_NUM e PGSQL_BOTH. Usando PGSQL_NUM, a função retornará um array com índices numéricos, usando PGSQL_ASSOC ela retornará apenas índices associativos enquanto PGSQL_BOTH retornará índices numéricos e associativos.

Valor Retornado

Um array indexado numericamente (começando com 0) ou associativamente (indexado pelo nome do campo), ou ambos. Cada valor no array é representado como uma string. Os valores NULL do banco de dados são retornados como null.

false é retornado se row exceder o número de linhas no conjunto, não houver mais linhas ou em qualquer outro erro. Buscar o resultado de uma consulta diferente de SELECT também retornará false.

Registro de Alterações

Versão Descrição
8.1.0 O parâmetro result agora espera uma instância de PgSql\Result; anteriormente, um resource era esperado.

Exemplos

Example #1 Exemplo de pg_fetch_array()

<?php

$conn = pg_pconnect("dbname=publisher");
if (!$conn) {
  echo "Ocorreu um erro.\n";
  exit;
}

$result = pg_query($conn, "SELECT author, email FROM authors");
if (!$result) {
  echo "Ocorreu um erro.\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";

// O parâmetro linha é opcional; NULL pode ser passado em vez disso,
// para passar um result_type. Chamadas sucessivas para pg_fetch_array
// retornarão a próxima linha.
$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";

?>

Veja Também