(PHP 5 >= 5.2.0, PHP 7, PHP 8)
SplFileObject::setCsvControl — Set the delimiter, enclosure and escape character for CSV
$separator
= ",", string $enclosure
= "\"", string $escape
= "\\"): voidSets the delimiter, enclosure and escape character for parsing CSV fields.
ayraç
(separator
)İsteğe bağlı bu bağımsız değişken ile alan ayracı (tek baytlık bir karakter) belirtilir.
sınırlayıcı
(enclosure
)İsteğe bağlı bu bağımsız değişken ile alan sınırlayıcı (tek baytlık bir karakter) belirtilir.
öncelem
(escape
)
Belirtilmesi seçimlik olup önceleme karakteri (tek baytlık bir
karakter) belirtmekte kullanılır. Boş dizge (""
)
özel önceleme mekanizmasını iptal eder.
Bilginize: Genellikle bir
sınırlayıcı
karakter bir alanın içinde çiftlenerek öncelenir; ancak, öndeki karakterin yeriniöncelem
karakteri alabilir. Bu nedenle, öntanımlı""
karakteri ile\"
aynı anlama gelir.öncelem
karakterininsınırlayıcı
karakteri öncelemek dışında özel bir anlamı yoktur; kendisini de öncelemesi amaçlanmamıştır.
PHP 8.4.0 ve sonrasında, öncelem
öntanımlı
değerine bağlı olarak kullanım dışıdır. Açıkça ya konumsal olarak
ya da isimli bağımsız
değişkenler kullanılarak sağlanması gerekir.
When escape
is set to anything other than an empty string
(""
) it can result in CSV that is not compliant with
» RFC 4180 or unable to survive a roundtrip
through the PHP CSV functions. The default for escape
is
"\\"
so it is recommended to set it to the empty string explicitly.
The default value will change in a future version of PHP, no earlier than PHP 9.0.
Hiçbir değer dönmez.
ayraç
veya sınırlayıcı
tek
bayt uzunlukta değilse ValueError istisnası
oluşur.
öncelem
tek bayt uzunlukta değilse veya boş dizge
ise ValueError istisnası oluşur.
Sürüm: | Açıklama |
---|---|
8.4.0 |
öncelem bağımsız değişkeninin öntanımlı
değerine güvenmek artık kullanım dışıdır.
|
7.4.0 |
The escape parameter now also accepts an empty
string to disable the proprietary escape mechanism.
|
Örnek 1 SplFileObject::setCsvControl() example
<?php
$file = new SplFileObject("data.csv");
$file->setFlags(SplFileObject::READ_CSV);
$file->setCsvControl('|');
foreach ($file as $row) {
list ($fruit, $quantity) = $row;
// Do something with values
}
?>
Contents of data.csv
<?php apples|20 bananas|14 cherries|87 ?>