009——基礎(chǔ)加強(qiáng)

檢測變量

// 獲取變量類型
gettype()
// 是否是某種類型
is_int()
is_array()
// 變量是否存在
isset()
// 變量是否為空
empty()

打印變量

echo()// 字符串墓造、數(shù)字
print_r()// 數(shù)組、對象
var_dump()// 打印變量的類型及其值

類型轉(zhuǎn)換

+// 轉(zhuǎn)number
.// 轉(zhuǎn)字符串
if// 轉(zhuǎn)Boolean

銷毀變量

unset()

函數(shù)

// 函數(shù)就是封裝起來的一段代碼可以隨時調(diào)用
如果有默認(rèn)值參數(shù)泪幌,應(yīng)該寫在最后
<?php 
    $a = 7;
    function fn(&$a) {
        return $a = $a - 1;
    }
    fn($a);
    echo $a;// 6
?>
<?php 
    $a = 7;
    function fn() {
        global $a;// 告訴去全局找
        return $a;
    }
    echo fn();
?>
<?php 
    $a = 1;
    $b = 2;
    print_r($GLOBALS);// 收集頁面中全局變量的全局?jǐn)?shù)組
?>
// 動態(tài)調(diào)用函數(shù)
<?php 
    function good(){
        echo "haha";
    }
    function bad(){
        echo "wuwu";
    }
    $heart = 'good';

    $heart();
?>

時間戳函數(shù)

<?php 
    // 格林威治事件1970年1月1日00:00:00到當(dāng)前的秒數(shù)
    echo time()."<br/>";
    echo microtime()."<br/>";// 微秒數(shù)和時間戳
    echo microtime(true);// 合一起輸出
?>
// 格式化時間
<?php 
    echo date('Y/m/d H:i:s');
?>
<?php 
    // 上一小時的時間
    $time = time() - 60 * 60;
    echo date('Y/m/d H:i:s', $time);
?>

讀取文件夾

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>Document</title>
</head>
<body>
    <?php
        $path = isset($_GET['dir']) ? $_GET['dir'] : '.';
        $fh = opendir($path);

        // echo $row = readdir($fh)."<br/>";// 返回文件名
        // echo $row = readdir($fh)."<br/>";// 返回文件名
        // echo $row = readdir($fh)."<br/>";// 返回文件名
        
        // closedir();
    ?>
    <h1>讀取文件夾</h1>
    <table border="1">
        <tr>
            <td>名稱</td>
            <td>操作</td>
        </tr>
        <?php while ( ($row = readdir($fh)) !== false ) {// 文件名為0時 ?>
        <tr>
            <td><?php echo $row; ?></td>
            <td>
                <a href="index.php?dir=<?php echo $path.'/'.$row; ?>">查看</a>
            </td>
        </tr>
        <?php } ?>
        <?php closedir(); ?>
    </table>
</body>
</html>

數(shù)組

// 索引數(shù)組
// 關(guān)聯(lián)數(shù)組
<?php
    $arr = array('name'=>'Aaayang', 'age'=>18);
    echo $arr['name'];
?>
// 遍歷數(shù)組
<?php
    $arr = array('a', 'b', 'c', 'd');
    for($i = 0; $i < count($arr); $i ++) {
        echo $arr[$i] . "<br/>";
    }
?>
// foreach
<?php
    $arr = array('a', 'b', 'c', 'd');
    foreach ($arr as $key => $value) {
        echo $key . '>>' . $value . "<br/>";
    }
?>
// foreach簡寫猜欺,foreach不能單循環(huán)出鍵官硝,通過array_keys可以
<?php
    $arr = array('a', 'b', 'c', 'd');
    foreach ($arr as $value) {
        echo $value . "<br/>";
    }
?>
// array_keys
<?php
    $arr = array('a', 'b', 'c', 'd');
    print_r(array_keys($arr));// 返回數(shù)組中所有的鍵
?>
// 修改數(shù)組
<?php
    $arr = array('a'=>3, 'b'=>4, 'c'=>5);
    foreach ($arr as $key => $value) {
        $arr[$key] = $value * 2;
    }
    print_r($arr);
?>

static

<?php
    function a() {
        $a = 5;
        $a += 1;
        return $a;
    }
    echo a() . "<br/>";// 6
    echo a() . "<br/>";// 6
?>
<?php
    function a() {
        static $a = 5;
        $a += 1;
        return $a;
    }
    echo a() . "<br/>";// 6
    echo a() . "<br/>";// 7
?>
// 應(yīng)用
<?php
    function openfile($file) {
        $fh = fopen($file, 'r');
        return $fh;
    }
    // 打開了3次
    print_r(openfile('.'));
    print_r(openfile('.'));
    print_r(openfile('.'));

    function openfile($file) {
        static $fh = null;// 記住了上次的$fh
        if($fh === null) {
            $fh = fopen($file, 'r');
        }
        return $fh;
    }
    // 實(shí)際打開了1次
    print_r(openfile('.'));
    print_r(openfile('.'));
    print_r(openfile('.'));
?>

<?php 

    class Comment {
        public $username;
        public $content;

        public function setUsername($username) {
            $this->username = $username;
        }
        public function getUsername() {
            return $this->username;
        }
    }

    class CommentList {
        const FilePath = "commentList.txt";

        public function getCommentList() {
            return unserialize(file_get_contents(self::FilePath));// 獲取值的姿勢
        }

        public function write($commentData) {
            $commentList = $this->getCommentList();
        }
    }

?>
// 訪問私有變量的套路
<?php 

    class Comment {
        private $username;
        public $content;

        public function set($name, $value) {
            $this->$name = $value;
        }
        public function get($name) {
            return $this->$name;
        }
    }

    // 訪問私有屬性的姿勢
    $comment = new Comment();
    $comment->set('username','Aaayang');
    echo $comment->get('username');
?>
// 魔術(shù)方法
<?php 
    
    // 魔術(shù)方法自動調(diào)用
    class Comment {
        private $username;
        public $content;

        public function __set($name, $value) {
            $this->$name = $value;
        }
        public function __get($name) {
            return $this->$name;
        }
    }

    // 有魔術(shù)方法的情況下可以直接訪問私有
    $comment = new Comment();
    $comment->username = "Aaayang";
    echo $comment->username;
?>
// 訪問類常量
<?php 
    
   class CommentList {
        const FilePath = "commentList.txt";

        public function getCommentList() {
            return unserialize(file_get_contents(self::FilePath));// 獲取值的姿勢
        }

        public function write($commentData) {
            $commentList = $this->getCommentList();
        }
    }

    // 訪問類常量
    $commentList = new CommentList();
    echo $commentList::FilePath;
?>
// 靜態(tài)屬性和方法不需要實(shí)例化可以直接調(diào)用
<?php
    
    class Tools {
        public static $titleTemp = 'Aaayang';// 靜態(tài)屬性屬于類本身,不需要實(shí)例化就能調(diào)用

        public static function parseTitle($title) {// 靜態(tài)方法中不能調(diào)用非靜態(tài)屬性和非靜態(tài)方法
            return $title . '-_-'.self::$titleTemp;// 調(diào)用靜態(tài)屬性
        }

        public function test() {
            self::parseTitle('haha');// 非靜態(tài)方法中調(diào)用靜態(tài)方法
        }
    }

    // echo Tools::$titleTemp;// 靜態(tài)屬性和方法不需要實(shí)例化就能調(diào)用

    echo Tools::parseTitle("VIP");

?>
<?php
    
    // 構(gòu)造方法:對象被創(chuàng)建時自動調(diào)用的方法,一般做初始化工作時使用
    // 析構(gòu)函數(shù):對象在內(nèi)存中被銷毀時自動調(diào)用末盔,不能帶參數(shù)
    class Pager {
        public $page;// 當(dāng)前頁
        public $totalPage;
        public $link;

        public function __construct($totalPage, $link, $page=1){
            $this->page = $page;
            $this->totalPage = $totalPage;
            $this->link = $link;
        }
    }

    $pager = new Pager(10, 'http://baidu.com', 2);
    print_r($pager);
?>
// 構(gòu)造方法
<?php
    
    class BaseClass {
        public $user;
        public function error() {
            echo "404<br/>";
        }
        public function __construct() {
            echo "驗(yàn)證<br/>";
        }
    }

    class SubClass extends BaseClass {
        public function __construct() {
            parent::__construct();// 執(zhí)行父類的構(gòu)造方法
            echo "驗(yàn)證2";
        }
        public function test() {
            $this->user;
            $this->error();// 會調(diào)用本身的
        }
        public function error() {
            echo "error";
        }
    }

    $subClass = new SubClass();// 子類沒有構(gòu)造函數(shù)會直接調(diào)用父類的

?>
最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末功偿,一起剝皮案震驚了整個濱河市坡倔,隨后出現(xiàn)的幾起案子,更是在濱河造成了極大的恐慌脖含,老刑警劉巖罪塔,帶你破解...
    沈念sama閱讀 217,734評論 6 505
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件,死亡現(xiàn)場離奇詭異养葵,居然都是意外死亡征堪,警方通過查閱死者的電腦和手機(jī),發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 92,931評論 3 394
  • 文/潘曉璐 我一進(jìn)店門关拒,熙熙樓的掌柜王于貴愁眉苦臉地迎上來佃蚜,“玉大人,你說我怎么就攤上這事着绊⌒乘悖” “怎么了?”我有些...
    開封第一講書人閱讀 164,133評論 0 354
  • 文/不壞的土叔 我叫張陵归露,是天一觀的道長洲脂。 經(jīng)常有香客問我,道長剧包,這世上最難降的妖魔是什么扶檐? 我笑而不...
    開封第一講書人閱讀 58,532評論 1 293
  • 正文 為了忘掉前任头镊,我火速辦了婚禮吓歇,結(jié)果婚禮上表窘,老公的妹妹穿的比我還像新娘。我一直安慰自己堕油,他們只是感情好潘飘,可當(dāng)我...
    茶點(diǎn)故事閱讀 67,585評論 6 392
  • 文/花漫 我一把揭開白布肮之。 她就那樣靜靜地躺著,像睡著了一般卜录。 火紅的嫁衣襯著肌膚如雪局骤。 梳的紋絲不亂的頭發(fā)上,一...
    開封第一講書人閱讀 51,462評論 1 302
  • 那天暴凑,我揣著相機(jī)與錄音峦甩,去河邊找鬼。 笑死现喳,一個胖子當(dāng)著我的面吹牛凯傲,可吹牛的內(nèi)容都是我干的。 我是一名探鬼主播嗦篱,決...
    沈念sama閱讀 40,262評論 3 418
  • 文/蒼蘭香墨 我猛地睜開眼冰单,長吁一口氣:“原來是場噩夢啊……” “哼!你這毒婦竟也來了灸促?” 一聲冷哼從身側(cè)響起诫欠,我...
    開封第一講書人閱讀 39,153評論 0 276
  • 序言:老撾萬榮一對情侶失蹤,失蹤者是張志新(化名)和其女友劉穎浴栽,沒想到半個月后荒叼,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體,經(jīng)...
    沈念sama閱讀 45,587評論 1 314
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡典鸡,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 37,792評論 3 336
  • 正文 我和宋清朗相戀三年被廓,在試婚紗的時候發(fā)現(xiàn)自己被綠了。 大學(xué)時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片萝玷。...
    茶點(diǎn)故事閱讀 39,919評論 1 348
  • 序言:一個原本活蹦亂跳的男人離奇死亡嫁乘,死狀恐怖,靈堂內(nèi)的尸體忽然破棺而出球碉,到底是詐尸還是另有隱情蜓斧,我是刑警寧澤,帶...
    沈念sama閱讀 35,635評論 5 345
  • 正文 年R本政府宣布睁冬,位于F島的核電站挎春,受9級特大地震影響,放射性物質(zhì)發(fā)生泄漏痴突。R本人自食惡果不足惜搂蜓,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 41,237評論 3 329
  • 文/蒙蒙 一狼荞、第九天 我趴在偏房一處隱蔽的房頂上張望辽装。 院中可真熱鬧,春花似錦相味、人聲如沸拾积。這莊子的主人今日做“春日...
    開封第一講書人閱讀 31,855評論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽拓巧。三九已至斯碌,卻和暖如春,著一層夾襖步出監(jiān)牢的瞬間肛度,已是汗流浹背傻唾。 一陣腳步聲響...
    開封第一講書人閱讀 32,983評論 1 269
  • 我被黑心中介騙來泰國打工, 沒想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留承耿,地道東北人冠骄。 一個月前我還...
    沈念sama閱讀 48,048評論 3 370
  • 正文 我出身青樓,卻偏偏與公主長得像加袋,于是被迫代替她去往敵國和親凛辣。 傳聞我的和親對象是個殘疾皇子,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 44,864評論 2 354

推薦閱讀更多精彩內(nèi)容

  • Spring Cloud為開發(fā)人員提供了快速構(gòu)建分布式系統(tǒng)中一些常見模式的工具(例如配置管理职烧,服務(wù)發(fā)現(xiàn)扁誓,斷路器,智...
    卡卡羅2017閱讀 134,656評論 18 139
  • 前言 把《C++ Primer》[https://book.douban.com/subject/25708312...
    尤汐Yogy閱讀 9,517評論 1 51
  • *面試心聲:其實(shí)這些題本人都沒怎么背,但是在上海 兩周半 面了大約10家 收到差不多3個offer,總結(jié)起來就是把...
    Dove_iOS閱讀 27,140評論 30 470
  • 晚訓(xùn)永遠(yuǎn)都是軍訓(xùn)中最精彩的部分蚀之,我們唱歌跳舞來放松自己的心情蝗敢,瞧,這是我們二營一連與對面的巴郎子隊(duì)在拉歌大家你一首...
    兵魂_562d閱讀 205評論 0 0
  • 今天的社會足删,有人叫到人心不古前普,其實(shí)這是個無法反駁的提法,因?yàn)楝F(xiàn)代中國的特性之一便是不存在復(fù)古壹堰,凡是想要復(fù)古的拭卿,都會...
    且行歌閱讀 167評論 0 0