Copie des données d'un tableau PHP dans une table

# Pdo\Pgsql::copyFromArray

(PHP 8 >= 8.4.0)

Pdo\Pgsql::copyFromArray — Copie des données d'un tableau PHP dans une table

### Description

public function Pdo\Pgsql::copyFromArray(
string `$tableName`,
array|Traversable `$rows`,
string `$separator` = "\t",
string `$nullAs` = "\\\\N",
?string `$fields` = `null`
): bool

Copie des données du tableau `rows` dans la table `tableName` en utilisant `separator` comme délimiteur de champs et la liste `fields`.

### Liste de paramètres

`tableName`
  Une chaîne de caractères contenant le nom de la table.
`rows`
  Un array indexé (ou Traversable) de strings avec les champs séparés par `separator`.
`separator`
  Un délimiteur utilisé pour séparer les champs dans une entrée du tableau `rows`.
`nullAs`
  Comment interpréter les valeurs `NULL`.
`fields`
  La liste des champs à insérer.

### Valeurs de retour

Cette fonction retourne `true` en cas de succès ou `false` si une erreur survient.

### Historique

Version | Description
--- | ---
8.5.0 | `rows` accepte désormais également un Traversable ; antérieur à cela, seul un array était accepté.

### Exemples

Exemple #1 Exemple avec Pdo\Pgsql::copyFromArray()

Chaque élément de `rows` est un enregistrement dont les champs sont joints par `separator` (une tabulation par défaut).

    <?php
    $db = new Pdo\Pgsql('pgsql:dbname=test host=localhost', $user, $pass);
    $db->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);
    $db->exec('CREATE TABLE fruits (id int, name text, qty int)');

    $rows = [
        "1\tapple\t10",
        "2\tbanana\t20",
        "3\tcherry\t30",
    ];
    $db->copyFromArray('fruits', $rows);

    foreach ($db->query('SELECT * FROM fruits ORDER BY id') as $row) {
        echo "{$row['id']} {$row['name']} {$row['qty']}\n";
    }
    ?>

L'exemple ci-dessus va afficher :

    1 apple 10
    2 banana 20
    3 cherry 30

### Voir aussi

- Pdo\Pgsql::copyToArray() - Copie des données d'une table dans un tableau PHP
- Pdo\Pgsql::copyFromFile() - Copie des données d'un fichier dans une table
- Pdo\Pgsql::copyToFile() - Copie des données d'une table dans un fichier

`↑` and `↓` to navigate • `Enter` to select • `Esc` to close • `/` to open