Mercurial > hg > isophonics-drupal-site
view vendor/consolidation/annotated-command/src/Parser/Internal/CsvUtils.php @ 17:129ea1e6d783
Update, including to Drupal core 8.6.10
author | Chris Cannam |
---|---|
date | Thu, 28 Feb 2019 13:21:36 +0000 |
parents | 4c8ae668cc8c |
children |
line wrap: on
line source
<?php namespace Consolidation\AnnotatedCommand\Parser\Internal; /** * Methods to convert to / from a csv string. */ class CsvUtils { /** * Ensure that the provided data is a string. * * @param string|array $data The data to convert to a string. * @return string */ public static function toString($data) { if (is_array($data)) { return static::csvEscape($data); } return $data; } /** * Convert a string to a csv. */ public static function csvEscape(array $data, $delimiter = ',') { $buffer = fopen('php://temp', 'r+'); fputcsv($buffer, $data, $delimiter); rewind($buffer); $csv = fgets($buffer); fclose($buffer); return rtrim($csv); } /** * Return a specific named annotation for this command. * * @param string|array $data The data to convert to an array. * @return array */ public static function toList($data) { if (!is_array($data)) { return str_getcsv($data); } return $data; } }