php讀取csv數(shù)據(jù)保存到數(shù)組的方法
本文實(shí)例講述了php讀取csv數(shù)據(jù)保存到數(shù)組的方法。分享給大家供大家參考。具體分析如下:
csv是常用的excel格式的替代品,很多時(shí)候我們導(dǎo)出數(shù)據(jù)是都會導(dǎo)成csv格式的,這樣和excel沒什么區(qū)別,下面的程序是要讀取csv數(shù)據(jù)保存到數(shù)組我們要對數(shù)據(jù)進(jìn)行操作,所以保存到數(shù)據(jù),代碼如下:
//echo '<pre>';
//print_r($info);
//echo '</pre>';
foreach ($info as $c)
{
echo '學(xué)號:'.$c[0];
echo '姓名:'.$c[1];
echo '年齡:'.$c[2];
echo '身高:'.$c[3].'<br>';
}
final class csvtoarray{
/**
* 把csv文件解析為一個(gè)數(shù)組返回
*
* @param string $file 要解析的csv文件路徑
* @param char $delimiter csv文件里的內(nèi)容分隔符 默認(rèn)為;
* @return array
*/
public static function open($file, $delimiter = ';'){
return self::ordenamultiarray(self::csvarray($file, $delimiter), 1);
}
private function csvarray($file, $delimiter)
{
$result = array();
$size = filesize($file) + 1;
$file = fopen($file, 'r');
$keys = fgetcsv($file, $size, $delimiter);
fseek($file,0);//這里原來的沒有..自己加上..這樣能讀取到第一行的內(nèi)容
while ($row = fgetcsv($file, $size, $delimiter))
{
for($i = 0; $i < count($row); $i++)
{
if(array_key_exists($i, $keys))
{
$row[$keys[$i]] = $row[$i];
}
}
print_r($row);
$result[] = $row;
}
fclose($file);
return $result;
}
private function ordenamultiarray($multiarray, $secondindex)
{
while (list($firstindex, ) = each($multiarray))
$indexmap[$firstindex] = $multiarray[$firstindex][$secondindex];
asort($indexmap);
while (list($firstindex, ) = each($indexmap))
if (is_numeric($firstindex))
$sortedarray[] = $multiarray[$firstindex];
else $sortedarray[$firstindex] = $multiarray[$firstindex];
return $sortedarray;
}
}
希望本文所述對大家的php程序設(shè)計(jì)有所幫助。
相關(guān)文章
php中mt_rand()隨機(jī)數(shù)函數(shù)用法
這篇文章主要介紹了php中mt_rand()隨機(jī)數(shù)函數(shù)用法,較為詳細(xì)的分析了mt_rand()隨機(jī)數(shù)函數(shù)的常見用法,并結(jié)合數(shù)組遍歷給出了數(shù)組隨機(jī)輸出的實(shí)例,需要的朋友可以參考下2014-11-11
php 時(shí)間time與日期date之間的使用詳解及區(qū)別
PHP中有time函數(shù),也有date函數(shù),這兩個(gè)函數(shù)在使用時(shí)候的區(qū)別很明顯。但更應(yīng)注意,time和date是兩個(gè)完全不時(shí)的格式,當(dāng)然還有一種字符串格式。本文重點(diǎn)介紹這幾者的區(qū)別。2016-11-11
PHP實(shí)現(xiàn)獲取域名的方法小結(jié)
這篇文章主要介紹了PHP實(shí)現(xiàn)獲取域名的方法,實(shí)例總結(jié)了常見的獲取域名的方法,非常具有實(shí)用價(jià)值,需要的朋友可以參考下2014-11-11
php實(shí)現(xiàn)MySQL數(shù)據(jù)庫備份與還原類實(shí)例
這篇文章主要介紹了php實(shí)現(xiàn)MySQL數(shù)據(jù)庫備份與還原類,可實(shí)現(xiàn)針對MySQL數(shù)據(jù)庫的導(dǎo)入與導(dǎo)出功能,并且包含了針對數(shù)據(jù)庫操作時(shí)的加鎖與解鎖等功能,非常具有實(shí)用價(jià)值,需要的朋友可以參考下2014-12-12
PHP自動(dòng)選擇 連接本地還是遠(yuǎn)程數(shù)據(jù)庫
假設(shè)我們要在test.php文件中操作虛擬主機(jī)的數(shù)據(jù)庫,則首先要在本地調(diào)試,那么必然要連接本地、遠(yuǎn)程兩個(gè)不同的數(shù)據(jù)庫,問題:怎么讓test.php自動(dòng)識別當(dāng)下該連接本地還是遠(yuǎn)程數(shù)據(jù)庫呢?2010-12-12

