SplFileObject::getCsvControl

(PHP 5 >= 5.2.0, PHP 7)

SplFileObject::getCsvControlПолучает символы разделителя и ограничителя для CSV

Описание

public array SplFileObject::getCsvControl ( void )

Получает символы разделителя и ограничителя, используемые для разбора данных CSV.

Список параметров

У этой функции нет параметров.

Возвращаемые значения

Возвращает индексный массив, содержащий символы разделителя и ограничителя.

Примеры

Пример #1 Пример использования SplFileObject::getCsvControl()

<?php
$file 
= new SplFileObject("data.txt");
print_r($file->getCsvControl());
?>

Результатом выполнения данного примера будет что-то подобное:

Array
(
    [0] => ,
    [1] => "
)

Смотрите также

  • SplFileObject::setCsvControl() - Устанавливает символы разделителя и ограничителя для CSV
  • SplFileObject::fgetcsv() - Получение строки файла и ее разбор в соответствии с CSV разметкой

Коментарии

Автор:
Seems that this function always returns the same delimiter.

<?php
file_put_contents
("A;B;C;D\n0;0;0;0""test.txt");

$file = new SplFileObject("test.txt"); 
var_dump($file->getCsvControl());
?>

array(2) {
  [0]=>
  string(1) ","
  [1]=>
  string(1) """
}
2013-09-11 17:07:20
http://php5.kiev.ua/manual/ru/splfileobject.getcsvcontrol.html
Note that this function does not magically guess the CSV control from a given file, rather it returns what has been priorly set with SplFileObject::setCsvControl().
2015-02-06 19:47:44
http://php5.kiev.ua/manual/ru/splfileobject.getcsvcontrol.html
Given an absolute path to a CSV or any text file and a list of possible delimiters and assuming lines are up to 4096 characters long, I use

<?php 
function guess_delimiter($file$delimiters=[',',';']) 
{
 
$h fopen($file,'r');
   
$count = [];
    foreach (
$delimiters as $del) {
     
$count[$del] = 0;
      while ((
$bufer fgets($h4096)) !== false) {
       
$count[$del]+=substr_count($bufer$del);
      }
     
rewind($h);
    }
   
fclose($h);
    return 
array_search(max($count), $count);
}
2021-10-14 20:31:27
http://php5.kiev.ua/manual/ru/splfileobject.getcsvcontrol.html

    Поддержать сайт на родительском проекте КГБ