मैं इस पुस्तकालय का उपयोग सरणी को किसी अन्य डेटा प्रारूप या इसके विपरीत में बदलने के लिए करता हूं।
वहां आप पुस्तकालय/वर्ग प्रारूप (Format.php) पा सकते हैं जिसका उपयोग आप CSV को सरणी में बदलने के लिए कर सकते हैं और फिर इसे अपने डेटाबेस में सहेज सकते हैं। यह वर्ग अन्य प्रारूप का भी समर्थन करता है:
- xml - लगभग कोई भी प्रोग्रामिंग भाषा XML को पढ़ सकती है
- json - जावास्क्रिप्ट और तेजी से बढ़ते PHP ऐप्स के लिए उपयोगी है।
- csv - स्प्रेडशीट प्रोग्राम के साथ खुला
- html - एक साधारण HTML तालिका
- php - PHP कोड का प्रतिनिधित्व जिसे eval()'ed किया जा सकता है
- क्रमबद्ध करें - क्रमबद्ध डेटा जिसे PHP में क्रमबद्ध नहीं किया जा सकता है
संपादित करें:
यह पुस्तकालय प्रत्येक पंक्ति पर "\n" सीमांकक के साथ सीएसवी पर काम करता है और प्रत्येक स्तंभ पर "," आप इसे इस तरह उपयोग कर सकते हैं:
$this->load->library('format');
$string_csv = "YOUR CSV";
$result = $this->format->factory($string_csv, 'csv')->to_array();
var_dump($result);
बस इतना आसान। हालाँकि जैसा कि मैंने ऊपर कहा है यदि आपके पास एक और सीमांकक है तो आपको पुस्तकालय को अपनी आवश्यकता के अनुसार समायोजित करना होगा। सीएसवी को सरणी में बदलने का मुख्य कार्य यहां दिया गया है:
function _from_csv($string)
{
$data = array();
// Splits
$rows = explode("\n", trim($string));
$headings = explode(',', array_shift($rows));
foreach ($rows as $row)
{
// The substr removes " from start and end
$data_fields = explode('","', trim(substr($row, 1, -1)));
if (count($data_fields) == count($headings))
{
$data[] = array_combine($headings, $data_fields);
}
}
return $data;
}
संपादित करें 2:
मेरा उदाहरण इस मानक सीएसवी प्रारूप पर काम करेगा:
Heading1, Heading2, Heading3
"1","John","London"
"2","Brian","Texas"