Maison  >  Article  >  développement back-end  >  Comment puis-je convertir un tableau PHP multidimensionnel en fichier CSV ?

Comment puis-je convertir un tableau PHP multidimensionnel en fichier CSV ?

Mary-Kate Olsen
Mary-Kate Olsenoriginal
2024-11-06 21:44:02258parcourir

How can I convert a multi-dimensional PHP array to a CSV file?

Convertir un tableau en fichier CSV

La conversion d'un tableau en fichier CSV est une tâche courante en programmation. Un fichier CSV (valeurs séparées par des virgules) est un fichier texte brut qui stocke les données sous forme de tableau, chaque ligne représentant un enregistrement et chaque colonne représentant un champ.

Problème

Considérez le tableau PHP suivant :

$array = new stdClass();
$array->OrderList_RetrieveByContactResult = new stdClass();
$array->OrderList_RetrieveByContactResult->OrderDetails = new stdClass();
// ... (more properties and values)

Solution

Pour convertir le tableau en fichier CSV, suivez ces étapes :

  1. Aplatissez le tableau : Le tableau est multidimensionnel, il doit donc être aplati en un tableau unidimensionnel. Cela peut être fait à l'aide d'une fonction récursive ou d'une bibliothèque prenant en charge l'aplatissement des tableaux.
  2. Utilisez une bibliothèque CSV : Il existe de nombreuses bibliothèques PHP disponibles qui fournissent des fonctions de création de fichiers CSV. Une bibliothèque populaire est la fonction [fputcsv](https://www.php.net/manual/en/function.fputcsv.php), qui peut être utilisée comme suit :
$csv = arrayToCsv($flattenedArray, ',', '"', true, true);

La fonction arrayToCsv prend le tableau aplati comme argument et renvoie une chaîne CSV. Les deuxième, troisième et quatrième arguments spécifient respectivement les options de délimiteur, de clôture et de clôture de toutes les options. Le cinquième argument (nullToMysqlNull) convertit les valeurs nulles en valeur NULL de MySQL.

  1. Écrivez le CSV dans un fichier : Une fois que vous avez la chaîne CSV, vous pouvez l'écrire dans un fichier en utilisant la fonction file_put_contents :
file_put_contents('orders.csv', $csv);

Vous pouvez maintenant utiliser le fichier CSV pour un traitement ou une analyse ultérieure.

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