2009年10月29日 星期四

[PHP]陣列、檔案讀寫

陣列

PHP的Array也是我覺得很特別的東西,感覺有點像VB中HashTable的機制。
從程式中可注意到,要取得Array中的元素個數可用【count($dataArr)】。
新增元素的方法也很多元,也能動態新增。→官方文件

<?php
    echo "\nArray 1<br>\n";
    $dataArr = array('abc','test');
    for($i=0;$i<count($dataArr);$i++){
        echo $i."\t".$dataArr[$i] . "<br>\n";
    }
    echo "\nArray 2<br>\n";
    $dataArr = array();
    $dataArr[]='abc';
    $dataArr[]='test';
    for($i=0;$i<count($dataArr);$i++){
        echo $i."\t".$dataArr[$i] . "<br>\n";
    }
    echo "\nArray 3<br>\n";
    $dataArr = array();
    $dataArr['name']='abc';
    $dataArr['content']='test';
    for($i=0;$i<count($dataArr);$i++){
        echo $i."\t".$dataArr[$i] . "<br>\n";
    }
    foreach($dataArr as $value){
        echo $value . "<br>\n";
    }
    foreach($dataArr as $key => $value){
        echo $key."\t".$value . "<br>\n";
    }
    echo "\nArray 4<br>\n";
    $dataArr = array('name' => 'abc','content' => 'test');
    foreach($dataArr as $key => $value){
        echo $key."\t".$value . "<br>\n";
    }
?>

結果:

Array 1<br>
0    abc<br>
1    test<br>

Array 2<br>
0    abc<br>
1    test<br>

Array 3<br>

0    <br>
1    <br>
abc<br>
test<br>
name    abc<br>
content    test<br>

Array 4<br>
name    abc<br>
content    test<br>

檔案存取

檔案存取是我常會用的功能,以下列出我的寫法與常用函式:官方文件

<?php
    //存文字檔,如果檔案不存在會建立檔案,如果存在會覆蓋檔案
    function saveText($filename,$fText){
        try{
            $fh = fopen($filename, "w");
            fwrite($fh, $fText);
            fclose($fh);
        }catch(Exception $e){
            echo 'Error addText: ' .$e->getMessage();
        }
    }
    //增加文字到文字檔最後面,如果檔案不存在會建立檔案
    function addText($filename,$fText){
        try{
            $fh = fopen($filename, "a");
            fwrite($fh, $fText);
            fclose($fh);
        }catch(Exception $e){
            echo 'Error addText: ' .$e->getMessage();
        }
    }
    //讀取文字檔內容
    function loadText($filename){
        $fText=NULL;
        try{
            if(file_exists($filename))    $fText=file_get_contents($filename);           
        }catch(Exception $e){
            echo 'Error loadText: ' .$e->getMessage();
        }
        return $fText;
    }
    //刪除檔案
    function deleteFile($filename){
        return unlink($filename);
    }
    //建立資料夾
    function createDir($dirname){
        return mkdir($dirname);
    }
    //刪除資料夾
    function deleteDir($dirname){
        return rmdir($dirname);
    }
?>

沒有留言:

張貼留言