PHP' de str_getcsv() fonksiyonu bir stringi CSV (comma separated values) formatında ayrıştırmak amacı ile kullanılan bir string fonksiyondur. Bu fonksiyon, CSV formatındaki bir stringi alan ve virgülle ayrılmış değerleri içeren dizi olarak çıktı veren bir php fonksiyonudur.
str_getcsv() fonksiyonu, CSV formatındaki bir dosyanın okunmasına veya bir satırın analiz edilmesine yardımcı olmak için de kullanılabilir. Ayrıca, bir .csv uzantılı dosyasından veri almak ve bu verileri veritabanına kaydetme veya bu verileri manüpile etmek veya direkt bu verileri kullanmak gibi farklı senaryolarda kullanılabilir.
PHP str_getcsv() fonksiyonu syntax (Yazım Şekli):
<?php
array str_getcsv ( string $string [, string $delimiter = "," [, string $enclosure = '"' [, string $escape = "\\" ]]] )
?>
Yukarıda kullanılan değişkenlerin ve parametrelerin anlamı:
- $string : CSV formatındaki metin verisi.
- $delimiter (Opsiyonel): CSV verisindeki alanları ayırmak için kullanılan karakter. Varsayılan değeri virgüldür (,).
- $enclosure (Opsiyonel): Alanları çevreleyen karakter. Varsayılan değeri çift tırnak işaretidir (").
- $escape (Opsiyonel): Çevreleme karakteri içeren özel karakterlerin kaçırılması için kullanılan kaçış karakteri. Varsayılan değeri ters eğik çizgidir ().
Bilgi :Fonksiyon, CSV verisini temsil eden bir dizi döndürür. CSV verisi boş ise false değeri döner.
Örnek 1 :
<?php
$csvData = 'John,Doe,35,"New York, USA"
Jane,Smith,28,"Los Angeles, USA"
Mike,Johnson,42,"Chicago, USA"'; $rows = str_getcsv($csvData, "\n"); // Satırları ayırma
$data = array();
foreach ($rows as $row) {
$data[] = str_getcsv($row); // Her satırı ayrıştırma ve diziye ekleme
}
print_r($data);
?>
Yukarıdaki örnekte, $csvData değişkenine bir CSV metin verisi atanmıştır. İlk olarak, "/n" karakterini kullanarak $csvData içindeki satırları ayırıyoruz. Ardından, her satırı str_getcsv() fonksiyonuyla ayrıştırarak bir diziye ekliyoruz. Son olarak, $data dizisini ekrana bastırıyoruz.