PHP開發(17)-callback-readdir-is_dir-foreach-glob-PhpStorm

來源:互聯網
上載者:User
PHP開發(17)-callback-readdir-is_dir-foreach-glob-PhpStorm



<?php    /**     * callback 回呼函數     */    echo "---------- callback Demo 1 ----------<br>";    call_user_func_array("fun",array(123,321)); // 列印結果:123 , 321 , 3    call_user_func_array("fun",array(123,321,444,555)); // 列印結果:123 , 321 , 444    function fun($one="1", $two="2", $three="3"){        echo "$one , $two , $three<br>";    }    /**     * 排除迴文數     * 迴文數:N位元中,第1個數字和最後N個數字相同     * strrev 反轉字串     */    echo "---------- callback Demo 2 ----------<br>";    demo(25,"test"); // 列印結果:10 12 13 14 15 16 17 18 19 20 21 23 24                    // 也就是沒有列印迴文數:0 1 2 3 4 5 6 7 8 9 11 22    echo "<br>";    function demo($num, $n){        for ($i=0; $i<$num ; $i++){            if (call_user_func_array($n,array($i)))                continue;            echo $i."    ";        }    }    function test($i){        if ($i==strrev($i))            return true;        else            return false;    }    /**     *     */    echo "---------- callback Demo 3 ----------<br>";    //$filter = new Filter(); // 執行個體化Filter    //$filter->one(1); // 調用Filter類裡面的one函數    //Filter::two(1); // 調用Filter類裡面的two靜態函數    // 函數one 排除3的整數倍    demo(25,array(new Filter(),"one")); // 列印結果:1 2 4 5 7 8 10 11 13 14 16 17 19 20 22 23    echo "<br>";    // 靜態函數two 排除所有包含字串3的數字    demo(25,array("Filter","two")); // 列印結果:0 1 2 4 5 6 7 8 9 10 11 12 14 15 16 17 18 19 20 21 22 24    echo "<br>";    class Filter{        function one($i)        {            if ($i % 3 == 0) {                return true;            } else {                return false;            }        }        static function two($i){            if (preg_match('/3/',$i)){                return true;            }else{                return false;            }        }    }    /**     * 測試檔案夾命令,隨便找一個程式的安裝目錄拷貝到項目下     * 遍曆指定目錄下所有目錄和檔案     * readdir() 函數返回目錄中下一個檔案的檔案名稱     * is_dir() 判斷給定檔案名稱是否是一個目錄     * readdir 列印結果: .  目前的目錄     * readdir 列印結果: ..  上一級目錄     */    echo "---------- opendir ----------<br>";    $dirname = "./demoFile2";    // 開啟目錄資源    $dir = opendir($dirname);    // 讀取檔案    echo readdir($dir).'<br>';    echo readdir($dir).'<br>';    echo readdir($dir).'<br>';    while ($file = readdir($dir)){        $file = $dirname."/".$file;        if (is_dir($file)){            echo "目錄:";        }else{            echo "檔案:";        }        echo $file.'<br>';    }    // 關閉目錄資源    closedir($dir);    /**     * 測試檔案夾命令,隨便找一個程式的安裝目錄拷貝到項目下     * 遍曆指定目錄下所有目錄和檔案(包含子目錄)     * glob 返回匹配指定模式的檔案名稱或目錄     * glob 返回一個包含有匹配檔案 / 目錄的數組     * foreach 文法結構提供了遍曆數組的簡單方式     * foreach (array_expression as $value) 每次迴圈中,當前單元的值被賦給 $value 並且數組內部的指標向前移一步     * (因此下一次迴圈中將會得到下一個單元)     */    echo "---------- opendir2 ----------<br>";    //fetchDir("demoFile1");    function fetchDir($dir) {        foreach(glob($dir.'\*') as $file) {            echo $file.'<br>',"\n";            if(is_dir($file)) {                fetchDir($file);            }        }    }    fetchDir2("demoFile1");    function fetchDir2($dir) {        foreach(glob($dir.'\*') as $file) {            if(is_dir($file)) {                echo "目錄:".$file.'<br>',"\n";                fetchDir2($file);            }else{                echo "檔案:".$file.'<br>',"\n";            }        }    }

以上就是PHP開發(17)-callback-readdir-is_dir-foreach-glob-PhpStorm 的內容,更多相關內容請關注topic.alibabacloud.com(www.php.cn)!

  • 聯繫我們

    該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

    如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

    A Free Trial That Lets You Build Big!

    Start building with 50+ products and up to 12 months usage for Elastic Compute Service

    • Sales Support

      1 on 1 presale consultation

    • After-Sales Support

      24/7 Technical Support 6 Free Tickets per Quarter Faster Response

    • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.