成人国产在线小视频_日韩寡妇人妻调教在线播放_色成人www永久在线观看_2018国产精品久久_亚洲欧美高清在线30p_亚洲少妇综合一区_黄色在线播放国产_亚洲另类技巧小说校园_国产主播xx日韩_a级毛片在线免费

資訊專欄INFORMATION COLUMN

三篇文章帶你極速入門php(一)之語(yǔ)法

loostudy / 1425人閱讀

摘要:本文適合閱讀用戶有其他語(yǔ)言基礎(chǔ)的童鞋看完語(yǔ)法教程來回顧一下的童鞋傳送門,想全面看一下語(yǔ)法推薦這里毫無基礎(chǔ)然而天資聰慧頗有慧根不要左顧右看說的就是你,老夫這里有一本從入門到放棄,觀你根骨清奇兩銀子賣給你如何看完本文后你會(huì)收獲到什么的變量的定義

本文適合閱讀用戶

有其他語(yǔ)言基礎(chǔ)的童鞋

看完w3cschool語(yǔ)法教程來回顧一下的童鞋(傳送門,想全面看一下php語(yǔ)法推薦這里)

毫無基礎(chǔ)然而天資聰慧頗有慧根(不要左顧右看說的就是你,老夫這里有一本《php從入門到放棄》,觀你根骨清奇10兩銀子賣給你如何)

看完本文后你會(huì)收獲到什么

php的變量的定義,使用

函數(shù)的定義,使用,傳遞參數(shù)

數(shù)組的定義,調(diào)用,常用方法,使用場(chǎng)景

php中循環(huán),判斷,選擇結(jié)構(gòu)的語(yǔ)法

類的定義,成員變量和成員函數(shù)的定義和使用

相信我,認(rèn)真看完本文,你就已經(jīng)掌握了php常用的語(yǔ)法了,足以進(jìn)行一些常規(guī)的開發(fā),剩下的可以用到再學(xué),避免在學(xué)了忘學(xué)了忘的語(yǔ)法坑中沉迷太久(??????)??
用php導(dǎo)演一場(chǎng)情景劇

這就是今天的目的,假設(shè)我們已經(jīng)搭建好了環(huán)境(下一節(jié)會(huì)講),現(xiàn)在開始進(jìn)行 編碼 創(chuàng)造世界。
首先定義一下我們的題目,myphp

//定義我們的題目
$title = "myphp";

php定義變量用$符號(hào),php是弱類型變量語(yǔ)言,不區(qū)分變量的類型,""和它里邊內(nèi)容在一起表示一個(gè)字符串。 另外//表示注釋,就是解釋性的話,并不會(huì)作為代碼運(yùn)行

//這個(gè)方法用來輸出
function show($str)
{
    echo $str . "
"; }

再定義一個(gè)方法(也叫函數(shù),只是叫法不一樣而已啦),定義方法用function關(guān)鍵字,括號(hào)里的是參數(shù),直接用變量表示就可以,在調(diào)用的時(shí)候接收調(diào)用時(shí)傳來的參數(shù)
echo是php自帶的輸出方法,沒有括號(hào)是因?yàn)樗容^特殊,可以先不管,會(huì)用就行
.是php中字符串拼接的符號(hào),
是html中的換行符,為了讓輸出更好看

//方法直接調(diào)用就好
show("hello " . $title);

輸出如下圖

//定義發(fā)生異常時(shí)觸發(fā)的函數(shù)
function error($str)
{
    echo "{$str}
"; exit(); }

在""雙引號(hào)內(nèi),可以直接用花括號(hào)包裹起來一個(gè)變量,這樣在被調(diào)用的時(shí)候變量就會(huì)直接在字符串中替換為變量的值,單引號(hào)不可以
exit()方法讓整個(gè)程序結(jié)束

//用[]可以直接創(chuàng)建一個(gè)空的數(shù)組,然后一一賦值
$person1         = [];
$person1["name"] = "高富帥";
$person1["sex"]  = "男";

//也可以直接創(chuàng)建一個(gè)有值的數(shù)組
$person2 = ["name" => "白富美", "sex" => "女"];
//這是一個(gè)二維數(shù)組,也可以用同樣的方式創(chuàng)建更多維的數(shù)組
$persons = [$person1, $person2];

既然是情景劇,得有個(gè)男女主角呀,打印出來看看這個(gè)二維數(shù)組,發(fā)現(xiàn)下標(biāo)是從0開始的,不要奇怪所有編程語(yǔ)言都是這樣的

接下來定義一個(gè)類,類可以暫時(shí)理解為一些數(shù)據(jù)和方法的集合,也就是我們的情景劇啦

class MyPhp
{
}

定義類用class關(guān)鍵字,空格后是類的名字,注意只能是英文字母或者下劃線_開頭
情景劇不能什么都沒有啊,我們?cè)俳o它定義一些必要的成員變量和成員方法

class MyPhp
{
    //表示我們的演員們
    public $actors = null;
    //自帶bgm的情景劇
    public $music  = "我心永恒";

    public function __construct()
    {
        $this->start();
    }

    public function start()
    {
        $time = time();
        show("時(shí)間:{$time}");
        $date = date("Y-m-d h:m:s", $time);
        show("哦~一般人還是看日期好一點(diǎn) {$date}");
        show("播放片頭曲~~{$this->music}");
    }
}

成員變量:成員變量直接用$符號(hào)聲明就可以,public private protected 是成員變量的訪問控制權(quán)限(同樣適用于成員方法),分別表示共有,私有,受保護(hù)的,null是php里的空指針的關(guān)鍵字

成員方法:

有一些自帶的成員方法,比如構(gòu)造函數(shù)__construct,php中__開頭(兩個(gè)下劃線)的函數(shù)都是默認(rèn)自帶的函數(shù),__construct是構(gòu)造函數(shù),初始化一個(gè)類對(duì)象的時(shí)候會(huì)調(diào)用這個(gè)方法

可以自己定義成員方法,如start這個(gè)方法,定義方法和普通方法一樣,控制權(quán)限和成員變量一樣也是public private protected三個(gè)

調(diào)用成員變量,如$this->music,注意此時(shí)成員變量不要加$符號(hào)。調(diào)用成員方法,如$this->start()

時(shí)間和日期:time()方法獲取一個(gè)當(dāng)前的時(shí)間戳,date()方法接受兩個(gè)參數(shù),第一個(gè)是一個(gè)字符串表示格式化格式,第二個(gè)參數(shù)是一個(gè)時(shí)間戳,返回格式化之后的時(shí)間

    //定義一個(gè)方法,讓演員加入進(jìn)來
    public function actorJoin($actorlist)
    {
        //我們判斷演員是一個(gè)數(shù)組并且有兩個(gè)人才可以,否則男女主角肯定有一個(gè)人沒來或者第三者插足了
        if (is_array($actorlist) && count($actorlist) == 2) {
            $this->actors = $actorlist;
        } else {
            error("還有演員沒有就位");
        }
    }

is_array()方法判斷參數(shù)變量是否是數(shù)組
count()方法返回參數(shù)數(shù)組的長(zhǎng)度
if(){}else{}結(jié)構(gòu)是條件語(yǔ)句語(yǔ)法,括號(hào)內(nèi)的判斷語(yǔ)句如果成立,程序運(yùn)行if下邊大括號(hào)內(nèi)的內(nèi)容,否則運(yùn)行else下大括號(hào)的內(nèi)容

    //情景劇一開始們,演員得自我介紹一下吧,流程不能省
    public function introduce()
    {
        if (empty($this->actors)) {
            error("大家好我是導(dǎo)演,男女主角偷偷約會(huì)還沒結(jié)束,今天可能來不了了");
        }

        foreach ($this->actors as $actor) {
            $intro = "我是{$actor["name"]},";
            switch ($actor["sex"]) {
                case "女":
                    show($intro . "我是女主角。");
                    break;
                case "男":
                    show($intro . "我是男主角。");
                    break;
                default:
                    show($intro . "抱歉,我不知道我什么性別。");
                    break;
            }
        }
    }

empty()函數(shù)判斷數(shù)組是否為空,空返回true,也就是正確的意思,此處沒有else,代表如果不滿足if的條件,程序直接往下走,不運(yùn)行大括號(hào)內(nèi)的代碼。

foreach循環(huán)遍歷數(shù)組,foreach($arr as $val),就是說對(duì)把$arr的所有成員依次賦值給$val,循環(huán)的次數(shù)就是$arr的長(zhǎng)度

switch語(yǔ)句針對(duì)同一地方不同值進(jìn)行選擇,可以避免多次if else,性能和可讀性也更好

switch后跟隨的括號(hào)表示選擇的變量

case后的值和冒號(hào)后的代碼,表示對(duì)應(yīng)值和要運(yùn)行的代碼,注意要添加break,表示跳出本次判斷,不然代碼會(huì)繼續(xù)往下運(yùn)行

defaul表示沒有滿足以上規(guī)定的case的時(shí)候,就運(yùn)行default的代碼

    //表演開始啦
    public function action()
    {
        if (empty($this->actors)) {
            error("演員臨時(shí)有事,謝謝大家捧場(chǎng)");
        }
        //這是我們的劇本
        $play   = array();
        $play[] = "{$this->actors[0]["name"]} 和 {$this->actors[1]["name"]} 在街邊相遇";
        $play[] = "{$this->actors[0]["name"]} 深情脈脈的看著 {$this->actors[1]["name"]}";
        $play[] = "以下省略一萬(wàn)字,請(qǐng)自行腦補(bǔ)......";
        $play[] = "全劇終";
        foreach ($play as $key => $val) {
            show("第{$key}幕");
            show($val);
        }
    }
    //不能草草結(jié)束,補(bǔ)個(gè)片尾曲
    public function end()
    {
        show("片尾曲,撒花完結(jié)");
    }

array()函數(shù)會(huì)返回一個(gè)數(shù)組,如果沒有參數(shù)就是一個(gè)空數(shù)組,也是創(chuàng)建數(shù)組的一個(gè)方式

**$this->actors[0]["name"]**,返回的是$this->actors的第一個(gè)成員的key為name的值

foreach循環(huán)的第二種方式,as后邊如果是 $key=>$val 這種,就會(huì)把數(shù)組的鍵賦值給$key,值賦值給$val,比上一種多了key可以使用

好啦,萬(wàn)事俱備,現(xiàn)在讓它運(yùn)行起來吧

$myphp = new MyPhp();
$myphp->actorJoin($persons);
$myphp->introduce();
$myphp->start();
$myphp->action();
$myphp->end();

new MyPhp()會(huì)創(chuàng)建一個(gè)MyPhp類型的類對(duì)象,讓一個(gè)變量指向這個(gè)對(duì)象,就可以對(duì)這個(gè)對(duì)象的成員變量和成員方法進(jìn)行調(diào)用和改動(dòng)了。
看看在瀏覽器上的輸出

改一改在命令行里讓它動(dòng)態(tài)跑一下看效果(怎么弄的不重要)

好啦,回顧一下文章開頭的你會(huì)收獲到什么,你都學(xué)會(huì)了嗎?  
不要急,下一節(jié)會(huì)講搭建php環(huán)境,你就可以自己演個(gè)情景劇啦
附:全部代碼
";
}

//方法直接調(diào)用就好
show("hello " . $title);
//exit()方法讓整個(gè)程序結(jié)束
//在""雙引號(hào)內(nèi),可以直接用花括號(hào)包裹起來一個(gè)變量,這樣在被調(diào)用的時(shí)候變量就會(huì)直接在字符串中替換為變量的值,單引號(hào)不可以哦
function error($str)
{
   echo "{$str}
"; exit(); } //用[]可以直接創(chuàng)建一個(gè)空的數(shù)組,然后一一賦值 $person1 = []; $person1["name"] = "高富帥"; $person1["sex"] = "男"; //也可以直接創(chuàng)建一個(gè)有值的數(shù)組 $person2 = ["name" => "白富美", "sex" => "女"]; //這是一個(gè)二維數(shù)組,也可以用同樣的方式創(chuàng)建更多維的數(shù)組 $persons = [$person1, $person2]; //定義類用class關(guān)鍵字 class MyPhp { //成員變量直接用$符號(hào)聲明就可以 //public private protected 是成員變量的訪問控制權(quán)限 //null是php里的空指針的關(guān)鍵字 public $actors = null; public $music = "我心永恒"; //php中__開頭(兩個(gè)下劃線)的函數(shù)都是默認(rèn)自帶的函數(shù) //__construct是構(gòu)造函數(shù),初始化一個(gè)類對(duì)象的時(shí)候會(huì)調(diào)用這個(gè)方法 public function __construct() { $this->start(); } public function start() { //time()方法獲取一個(gè)當(dāng)前的時(shí)間戳 //date()方法接受兩個(gè)參數(shù),第一個(gè)是一個(gè)字符串表示格式化格式,第二個(gè)參數(shù)是一個(gè)時(shí)間戳,返回格式化之后的時(shí)間 $time = time(); show("時(shí)間:{$time}"); $date = date("Y-m-d h:m:s", $time); show("哦~一般人還是看日期好一點(diǎn) {$date}"); //$this->music 調(diào)用成員變量,注意此時(shí)成員變量不要加$符號(hào) show("播放片頭曲~~{$this->music}"); } //演員加入 public function actorJoin($actorlist) { //is_array()方法判斷參數(shù)變量是否是數(shù)組 //count()方法返回參數(shù)數(shù)組的長(zhǎng)度 //if(){}else{}是條件語(yǔ)句語(yǔ)法,括號(hào)內(nèi)的判斷語(yǔ)句如果成立,程序運(yùn)行if下邊大括號(hào)內(nèi)的內(nèi)容,否則運(yùn)行else下大括號(hào)的內(nèi)容 if (is_array($actorlist) && count($actorlist) == 2) { $this->actors = $actorlist; } else { error("還有演員沒有就位"); } } public function introduce() { //empty()函數(shù)判斷數(shù)組是否為空,空返回true,也就是正確的意思 //此處沒有else,代表如果不滿足if的條件,程序直接往下走,不運(yùn)行大括號(hào)內(nèi)的代碼。 if (empty($this->actors)) { error("大家好我是導(dǎo)演,男女主角偷偷約會(huì)還沒結(jié)束,今天可能來不了了"); } //foreach循環(huán)遍歷數(shù)組,foreach($arr as $val),就是說對(duì)把$arr的所有成員依次賦值給$val,循環(huán)的次數(shù)就是$arr的長(zhǎng)度 foreach ($this->actors as $actor) { $intro = "我是{$actor["name"]},"; //switch語(yǔ)句針對(duì)同一地方不同值進(jìn)行選擇,可以避免多次if else,性能和可讀性也更好 //switch后跟隨的括號(hào)表示選擇的變量,case后的值和冒號(hào)后的代碼,表示對(duì)應(yīng)值和要運(yùn)行的代碼,注意要添加break,表示跳出本次判斷,不然代碼會(huì)急需往下運(yùn)行 //defaul表示沒有滿足以上規(guī)定的case的時(shí)候,就運(yùn)行default的代碼 switch ($actor["sex"]) { case "女": show($intro . "我是女主角。"); break; case "男": show($intro . "我是男主角。"); break; default: show($intro . "抱歉,我不知道我什么性別。"); break; } } } public function action() { if (empty($this->actors)) { error("演員臨時(shí)有事,謝謝大家捧場(chǎng)"); } //array()函數(shù)會(huì)返回一個(gè)數(shù)組,如果沒有參數(shù)就是一個(gè)空數(shù)組,也是創(chuàng)建數(shù)組的一個(gè)方式 //$this->actors[0]["name"] 返回的是$this->actors的第一個(gè)成員的name $play = array(); $play[] = "{$this->actors[0]["name"]} 和 {$this->actors[1]["name"]} 在街邊相遇"; $play[] = "{$this->actors[0]["name"]} 深情脈脈的看著 {$this->actors[1]["name"]}"; $play[] = "以下省略一萬(wàn)字,請(qǐng)自行腦補(bǔ)......"; $play[] = "全劇終"; //foreach循環(huán)的第二種方式,as后邊如果是 $key=>$val 這種,就會(huì)把數(shù)組的鍵賦值給$key,值賦值給$val,比上一種多了key可以使用 foreach ($play as $key => $val) { show("第{$key}幕"); show($val); } } public function end() { show("片尾曲,撒花完結(jié)"); } } $myphp = new MyPhp(); $myphp->actorJoin($persons); $myphp->introduce(); $myphp->start(); $myphp->action(); $myphp->end();

文章版權(quán)歸作者所有,未經(jīng)允許請(qǐng)勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。

轉(zhuǎn)載請(qǐng)注明本文地址:http://systransis.cn/yun/29936.html

相關(guān)文章

  • 文章帶你極速入門phpphp原生實(shí)現(xiàn)登陸注冊(cè)

    摘要:看下成果純天然,絕不添加任何添加劑以及化學(xué)成分我就是喜歡純天然,不接受任何反駁關(guān)于本文用原生的和做了一個(gè)登陸注冊(cè),大概是可以窺見一般開發(fā)的樣子了。 看下成果 ps:純天然h5,絕不添加任何添加劑(css)以及化學(xué)成分(js)( 這行session_start() 是開啟session,必須在最開始寫,保證我們可以使用session相關(guān)的功能 如果當(dāng)前session里沒有存用戶的昵...

    Hancock_Xu 評(píng)論0 收藏0
  • 文章帶你極速入門php(二)迅速搭建php環(huán)境

    摘要:另本文目標(biāo)是迅速建立集成環(huán)境用來開發(fā),如果想要分開一點(diǎn)點(diǎn)搭建,自行百度就好了。本文不贅述,自行百度就完事了下載地址,選中或者版即可,下載完后安裝上就好。 前言 今天講一下php在windows,mac,linux上的集成環(huán)境搭建,環(huán)境這個(gè)事得對(duì)號(hào)入座,windows用phpstudy,mac用mamp,linux用lnmp一鍵安裝,直接跳轉(zhuǎn)對(duì)應(yīng)的地方看就好了。 另:本文目標(biāo)是迅速建立...

    Jackwoo 評(píng)論0 收藏0
  • 帶你入門 JavaScript ES6 (五) 集合

    摘要:一概述集合是引入的新的內(nèi)置對(duì)象類型,其特點(diǎn)同數(shù)學(xué)意義的集合,即集合內(nèi)所有元素不重復(fù)元素唯一。數(shù)組集合對(duì)比數(shù)組和集合,數(shù)組可以加入重復(fù)數(shù)據(jù),而集合的所有元素是唯一的不允許重復(fù)。因此,適合臨時(shí)存放一組對(duì)象,以及存放跟對(duì)象綁定的信息。 本文同步帶你入門 帶你入門 JavaScript ES6 (五) 集合,轉(zhuǎn)載請(qǐng)注明出處。 前面我們學(xué)習(xí)了: for of 變量和擴(kuò)展語(yǔ)法 塊作用域變量和解構(gòu)...

    BetaRabbit 評(píng)論0 收藏0
  • 帶你入門 JavaScript ES6 (二)

    摘要:上一篇學(xué)習(xí)下一代語(yǔ)法一,我們學(xué)習(xí)了關(guān)于塊作用域變量或常量聲明和語(yǔ)法新的字符串拼接語(yǔ)法模版字面量數(shù)組元素或?qū)ο笤氐慕鈽?gòu)賦值和對(duì)象字面量簡(jiǎn)寫的相關(guān)知識(shí)。這便是擴(kuò)展運(yùn)算符的用途之一。 本文同步 帶你入門 JavaScript ES6 (二),轉(zhuǎn)載請(qǐng)注明出處。 上一篇學(xué)習(xí)下一代 JavaScript 語(yǔ)法: ES6 (一),我們學(xué)習(xí)了關(guān)于塊作用域變量或常量聲明 let 和 const 語(yǔ)法、...

    chanthuang 評(píng)論0 收藏0
  • 帶你入門 JavaScript ES6 ()

    摘要:是國(guó)際組織于年月日發(fā)布的第六版,正式名為通常被成為或。二模版字面量提供一種簡(jiǎn)單實(shí)現(xiàn)表達(dá)式嵌套的字符串字面量操作,簡(jiǎn)而言之就是能夠以簡(jiǎn)單的方法實(shí)現(xiàn)字符串拼接操作。 本文同步 帶你入門 JavaScript ES6 (一),轉(zhuǎn)載請(qǐng)注明出處。 ES6: 是 ECMA國(guó)際組織于 2015 年 6 月 17 日發(fā)布的 ECMAScript 第六版,正式名為 ECMAScript 2015,通常被...

    lindroid 評(píng)論0 收藏0

發(fā)表評(píng)論

0條評(píng)論

最新活動(dòng)
閱讀需要支付1元查看
<