Maison >développement back-end >Problème PHP >Comment convertir une table en tableau en php

Comment convertir une table en tableau en php

PHPz
PHPzoriginal
2023-04-19 11:40:27612parcourir

En langage PHP, il est très courant de vouloir convertir une table en tableau. Habituellement, nous devons traiter une grande quantité de données, les lire et les exploiter dans le code. À ce stade, la conversion de la table en tableau facilitera grandement le traitement et le fonctionnement de nos données.

Cet article vise à présenter comment convertir des tables en tableaux en PHP pour aider les passionnés de PHP à traiter facilement de grandes quantités de données.

I. Convertir un tableau CSV en tableau

Tout d'abord, CSV (Comma-Separated Values) est un formulaire de tableau très courant, qui peut être généré avec divers outils et est facile à traiter. Les tableaux CSV doivent uniquement séparer chaque colonne par des virgules et utiliser des retours chariot pour séparer chaque ligne, ce qui facilite la lecture et l'utilisation.

Voici comment convertir une table CSV en tableau :

  1. Ouvrez le fichier CSV et lisez les données

Dans l'exemple suivant, nous utiliserons la fonction fgets() pour lire le contenu du CSV fichier et stockez-le ligne par ligne dans le tableau $lines.

$csvFile = 'test.csv';

$lines = [];
if (($handle = fopen($csvFile, "r")) !== FALSE) {

while (($data = fgets($handle)) !== FALSE) {
    $lines[] = $data;
}
fclose($handle);

}

?>

  1. Formater les données CSV et les convertir en tableau

Ensuite, nous utiliserons une boucle pour parcourir le tableau $lines et utiliserons la fonction éclater() pour diviser chaque ligne de données en un nouveau tableau par virgules, et enfin Obtenez un tableau bidimensionnel $csvData. Vous pouvez utiliser la fonction count() pour obtenir le nombre de lignes et de colonnes dans le tableau $csvData.

$csvFile = 'test.csv';
$lines = [];
if (($handle = fopen($csvFile, "r")) !== FALSE) {

while (($data = fgets($handle)) !== FALSE) {
    $lines[] = $data;
}
fclose($handle);

$csvData = [];
foreach ($lines as $line) {
    $csvData[] = str_getcsv($line);
}

}

?>

  1. Données CSV de sortie

Maintenant, vous pouvez utiliser la fonction var_dump() pour voir les données dans le tableau $csvData dans le navigateur.

$csvFile = 'test.csv';
$lines = [];
if (($handle = fopen($csvFile, "r")) !== FALSE) {

while (($data = fgets($handle)) !== FALSE) {
    $lines[] = $data;
}
fclose($handle);

$csvData = [];
foreach ($lines as $line) {
    $csvData[] = str_getcsv($line);
}
var_dump($csvData);

}

?>

II. Convertir un tableau Excel en tableau

Lorsque nous n'utilisons pas le format CSV, il peut être plus facile de convertir un tableau Excel en type tableau. Comme suit :

  1. Installez le plug-in PHPExcel

Nous pouvons télécharger ce plug-in depuis le site officiel de PHPEXCEL et l'extraire dans le répertoire du projet.

require_once 'Classes/PHPExcel.php';
?>

  1. Lecture des fichiers Excel

PHPExcel lit les fichiers Excel via l'objet PHPExcel_IOFactory. Lors de l'utilisation de PHPExcel_IOFactory, un lecteur de fichiers est requis pour ouvrir les fichiers Excel. Nous devons télécharger PHP version 5.3 ou supérieure.

require_once 'Classes/PHPExcel.php';
$excel = PHPExcel_IOFactory::load('test.xlsx');
?>

  1. Convertir les données Excel en tableau

Maintenant, nous avons lire avec succès le fichier Excel dans l'objet $excel, nous pouvons maintenant le convertir en un tableau contenant des données. Sélectionnez d’abord la cellule dont nous avons besoin et obtenez sa valeur en utilisant la méthode getValue() dans la classe PHPExcel_Cell.

require_once 'Classes/PHPExcel.php';
$excel = PHPExcel_IOFactory::load('test.xlsx');
$sheet = $excel->getActiveSheet();

$rows = [];
foreach ($sheet->getRowIterator() as $row) {

$item = [];
$cellIterator = $row->getCellIterator();
$cellIterator->setIterateOnlyExistingCells(false);

foreach ($cellIterator as $cell) {
    $item[] = $cell->getValue();
}

$rows[] = $item;

}
?>

  1. Sortie des données Excel

Enfin, vous pouvez utiliser la fonction var_dump() pour l'afficher dans le navigateur Les données du tableau $rows.

require_once 'Classes/PHPExcel.php';
$excel = PHPExcel_IOFactory::load('test.xlsx');
$sheet = $excel->getActiveSheet();

$rows = [];
foreach ($sheet->getRowIterator() as $row) {

$item = [];
$cellIterator = $row->getCellIterator();
$cellIterator->setIterateOnlyExistingCells(false);

foreach ($cellIterator as $cell) {
    $item[] = $cell->getValue();
}

$rows[] = $item;

}

var_dump($rows);
?>

Summary

Grâce à la méthode ci-dessus, des tableaux de différents formats peuvent be Data est rapidement converti en types de tableaux PHP. Cette méthode est particulièrement adaptée au traitement de grandes quantités de données, rendant la lecture et le traitement des données plus efficaces et plus simples. Il s’agit donc d’une compétence très importante qui mérite d’être apprise et maîtrisée.

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn