PHP基礎(chǔ)語法

一合武、PHP標(biāo)記

  • <?php echo "hello php"; ?>

  • <? echo "hello php"; ?>

  • <script language="php"> echo "hello php"; </script>

  • <% echo "hello php"; %>

echo 可以輸出任何內(nèi)容到頁面上闻察。

注意:1、3可直接使用站玄,但是2,4需要修改php.ini的配置文件才能使用待诅,只做了解乘碑。

二、變量

1据块、變量命名規(guī)則
  • 變量以 $ 符號開頭码邻,其后是變量的名稱
  • 變量名稱必須以字母或下劃線開頭
  • 變量名稱不能以數(shù)字開頭
  • 變量名稱只能包含字母數(shù)字字符和下劃線(A-z、0-9 以及 _)
  • 變量名稱對大小寫敏感($y 與 $Y 是兩個(gè)不同的變量)
2另假、變量賦值
  • 值賦值:直接給變量賦值像屋。
$name = "xiaoming";

$age = 18;

$num = 10 + "20";   // $num輸出結(jié)果等于30

$a = "gebi"."laowang"  // $a 輸出結(jié)果是gebilaowang

注意:在PHP中 + 只表示數(shù)字相加;? 才表示字符串拼接

打印10個(gè)小明

        for ($i=0; $i < 10; $i++) {
            // echo "小明".($i + 1)."號<br/>";
            // echo "小明 $i 號<br/>";
            // echo "小明{$i}號<br/>";
            echo "小明".($i + 1)."號<hr/>";
        }

        // PHP中边篮,雙引號帶有變量解析功能
        // 單引號為純字符串
        // 雙引號解析變量的時(shí)候己莺,可以使用{}括起變量名

注意:PHP中奏甫,雙引號帶有變量解析功能,單引號為純字符串凌受。
雙引號解析變量的時(shí)候阵子,可以使用{}括起變量名。

  • 引用賦值:將一個(gè)變量的地址賦給另一個(gè)變量胁艰,此處需要在變量名前面加上&符號款筑。
        // &取址運(yùn)算符
        $myAge = 18;
        $yourAge = &$myAge;
        // 取出$myAge的地址,賦給$yourAge腾么,修改$yourAge會(huì)影響$myAge
        $yourAge = 19;

        // 此時(shí)輸出的結(jié)果都是19
        echo $myAge."<br/>";
        echo $yourAge."<br/>";


     // 函數(shù)內(nèi)部修改函數(shù)外部變量的值
     // 如果需要函數(shù)內(nèi)修改函數(shù)外部變量,參數(shù)前面需要添加&符 號杈湾,進(jìn)行取址操作解虱。
     function add(&$a){
         $a *= 10;
     }
     $b = 10;
     add($b);
     echo $b."<br/>";  //輸出結(jié)果100
3、變量的變量
    // 變量的變量
    $one = "hello";
    $$one = "world";

    echo $one."".$hello;  //輸出結(jié)果helloworld
4漆撞、超全局變量

php提供了很多有用的預(yù)定的變量殴泰,用于提供大量與環(huán)境有關(guān)的信息。

(1)浮驳、$_SERVER服務(wù)器變量悍汛,該全局變量包含著服務(wù)器和客戶端配置及當(dāng)前請求環(huán)境的有關(guān)信息。

  • $_SERVER['SERVER_NAME']:當(dāng)前運(yùn)行腳本所在的服務(wù)器的主機(jī)名

  • $_SERVER['REMOTE_ADDR']:客戶端IP地址

  • $_SERVER['REQUEST_URI']:URI的路徑部分

  • $_SERVER['HTTP_USER_AGENT']:操作系統(tǒng)和瀏覽器的相關(guān)信息

    // 當(dāng)前運(yùn)行腳本所在的服務(wù)器的主機(jī)名
    echo $_SERVER['SERVER_NAME']."<br/>";
    // 客戶端IP地址
    echo $_SERVER['REMOTE_ADDR']."<br/>";
    // URI的路徑部分
    echo $_SERVER['REQUEST_URI']."<br/>";
    // 操作系統(tǒng)和瀏覽器的相關(guān)信息
    echo $_SERVER['HTTP_USER_AGENT']."<br/>";

(2)至会、$_GET該變量包含使用GET方法傳遞的參數(shù)的有關(guān)信息

(3)离咐、$_POST該變量包含使用POST方法傳遞的參數(shù)的有關(guān)信息

html代碼

    <form class="" action="login.php" method="post">
        <label for="userName">請輸入賬號</label>
        <input id="userName" type="text" name="userName" value="">
        <br/>
        <label for="pwd">密碼</label>
        <input type="password" name="pwd" value="">
        <br/>
        <label for="phone">手機(jī)號</label>
        <input type="num" name="phone" value="">
        <br/>
        <input type="submit">
    </form>
html代碼執(zhí)行效果

注意:html代碼必須在服務(wù)器環(huán)境下加載,提交表單時(shí)才有效果奉件。

php代碼

<?php

echo "用戶名: " . $_POST["userName"] . " 密碼: " . $_POST["pwd"]." 手機(jī)號: " . $_POST["phone"];

 ?>
提交表單代碼執(zhí)行效果

(4)宵蛀、$_REQUEST該變量記錄著通過各種輸入方法傳遞給腳本的變量,如GET POST县貌,但不要用這個(gè)超全局變量术陶,因?yàn)樗话踩宜俣缺容^慢。

(5)煤痕、$_COOKIE cookie變量數(shù)組

(6)梧宫、$_SESSION 會(huì)話變量數(shù)組

(7)、$_FILES 與上傳文件有關(guān)的變量數(shù)組

(8)摆碉、$_ENV 環(huán)境變量數(shù)組

(9)塘匣、$GLOBALS 所有全局變量數(shù)組

三、常量

1兆解、常量的定義

常量是指在程序執(zhí)行中無法修改的值馆铁。如PI(3.1415926);
在腳本執(zhí)行期間該值不能改變锅睛;
常量對大小寫敏感埠巨,通常常量名總是大寫历谍;
常量是全局的,可以在腳本的任何地方引用辣垒;
常量使用define()函數(shù)望侈;

    // 常量
    define("PI", 3.14);
    echo PI;
2、內(nèi)置常量
  • PHP_OS php所在操作系統(tǒng)的名稱
  • PHP_VERSION 當(dāng)前php的版本號
    echo PHP_OS;
    echo "</br>";
    echo PHP_VERSION;
3勋桶、魔術(shù)常量
  • ______LINE__ 文件中的當(dāng)前行號脱衙;

  • ______FILE__ 文件的完整路徑和文件名;

  • ______FUNCTION__ 函數(shù)名稱例驹;

  • ______CLASS__ 類的名稱捐韩;

  • ______METHOD__ 類的方法名;

注意:此處下劃線的前后下劃線為2條鹃锈。

    // 魔術(shù)常量
    echo __LINE__."<br>";
    echo __FILE__."<br>";

    function test () {
        echo __FUNCTION__."<br>";
    };
    test();

四荤胁、數(shù)據(jù)類型

1、字符串

字符串有三種定義方式:單引號屎债,雙引號仅政,定界符(heredoc);

  • 單引號字符串中出現(xiàn)的變量不會(huì)被變量的值替代盆驹;
  • 雙引號字符串中最重要的一點(diǎn)是其中的變量會(huì)被變量值替代圆丹;

如果遇到美元符號($),解析器會(huì)盡可能多的取得后面的字符以組成一個(gè)合法的變量名躯喇,如果想明確的指定名字的結(jié)束辫封,用大括號將變量名括起來。

    $age = 18;
    echo "xiaoming{$age}";  // 輸出結(jié)果xiaoming18
  • 字符串定界的方法使用定界符語法“<<<”玖瘸。
    因?yàn)镻HP是一個(gè)Web編程語言秸讹,在編程過程中難免會(huì)遇到用echo來輸出大段的html和javascript腳本的情況,如果用傳統(tǒng)的輸出方法——按字符串輸出的話雅倒,肯定要有大量的轉(zhuǎn)義符來對字符串中的引號等特殊字符進(jìn)行轉(zhuǎn)義璃诀,以免出現(xiàn)語法錯(cuò)誤。如果是一兩處還可以容忍蔑匣,但是要是一個(gè)完整的html文本或者是一個(gè)200行的js我想是誰都會(huì)崩潰的劣欢。這就是PHP為什么要引入一個(gè)定界符的原因——至少一大部分原因是這樣的。
            // 定界符
            $name2 = 'kitty';
            echo <<<AAA
            <table height="20">
                <tr>
                    <td>
                        {$name2}<br/>
                        <script>
                            var p='hello world';
                            document.writeln(p);
                        </script>
                    </td>
                </tr>
            </table>
AAA;
  1. PHP定界符的作用就是按照原樣裁良,包括換行格式什么的凿将,輸出在其內(nèi)部的東西;
  2. 在PHP定界符中的任何特殊字符都不需要轉(zhuǎn)義价脾;
  3. PHP定界符中的PHP變量會(huì)被正常的用其值來替換牧抵。
  4. 在語法上尤其需要注意<<<之后的字符是自己定義的,隨便什么都是可以的(比如AAA都可以),但是結(jié)尾處的字符一定要和他一樣犀变,他們是成對出現(xiàn)的妹孙,并且結(jié)尾一定要另起一行,并且改行除了AAA這個(gè)定界符結(jié)尾標(biāo)識之外不能有任何其他字符获枝,前后都不能有蠢正,包括空格。如果在本行最前或者最后出現(xiàn)空格省店,制表符的話就會(huì)報(bào)錯(cuò)嚣崭。
  5. 如果在定界符中間出現(xiàn)有PHP的變量,你只需要像在其它字符串中輸出一樣寫就行了懦傍,最好用大括號將其包裹起來雹舀。
2、字符串轉(zhuǎn)義
  • \n 換行
  • \r 回車
  • \t 水平制表符(tab鍵)
  • \\\(反斜杠)
  • $ $(美元符)
  • \” “(雙引號)
3粗俱、整形(integer)
      $age = 25;
4葱跋、浮點(diǎn)型(float, double)
      $num = 5.23;
5、布爾型(boolean)
      $bo = TRUE;
      $bo = FALSE;

五源梭、特殊數(shù)據(jù)類型

1、資源
$fh = fopen("test.txt","r");

2稍味、null

null無废麻,表示沒有值,nul不表示空格模庐,也不表示0烛愧;以下情況,則認(rèn)為是null:

  • 沒有設(shè)置為任何預(yù)定義的變量掂碱;
  • 明確的賦值為null怜姿;
  • 使用函數(shù)unset()清除;

六疼燥、自動(dòng)類型裝換

因?yàn)閜hp對于類型定義非常的松散沧卢,所以有時(shí)會(huì)根據(jù)引用變量的環(huán)境將變量自動(dòng)轉(zhuǎn)換為最合適的類型;

相加運(yùn)算時(shí)會(huì)將字符串轉(zhuǎn)換為數(shù)字

$num1 = "12";
$num2 = "13assd";
echo $num1 + $num2;  // 25

判斷語句中以下類型會(huì)被自動(dòng)轉(zhuǎn)換為布爾值

$abc = false; // false
$abc = 1; // true
$abc = -1; // true
$abc = 0; // false
$abc = null; // false
$abc = "haha"; // true
$abc = ""; // false
 if ($abc) {
       echo "hahhahahhah";
}

六醉者、自動(dòng)類型裝換

1但狭、gettype() 返回變量的類型,共有8個(gè)可能的值 string撬即、integer立磁、float、boolean剥槐、array唱歧、object、null粒竖、unknow颅崩。
    echo "<hr/>";
    $str = 245.245;
    echo gettype($str);
代碼執(zhí)行效果
2几于、is_type() 查看變量是屬于某個(gè)類型,是返回TRUE挨摸,否則返回FALSE孩革;

true 顯示1,false顯示無得运。

$age1 = array(134, 134, 45, 24);
echo is_string($age1);

如上代碼執(zhí)行效果為無膝蜈,如果寫is_array()則返回1。

3熔掺、var_dump() 獲取變量的值和類型的詳細(xì)信息
    $age = 1245;
    var_dump($age);
代碼執(zhí)行效果

以上內(nèi)容純屬個(gè)人理解饱搏,由于本人水平有限若有錯(cuò)漏之處,敬請指出斧正置逻,小弟不勝感激推沸。

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末,一起剝皮案震驚了整個(gè)濱河市券坞,隨后出現(xiàn)的幾起案子鬓催,更是在濱河造成了極大的恐慌,老刑警劉巖恨锚,帶你破解...
    沈念sama閱讀 222,252評論 6 516
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件宇驾,死亡現(xiàn)場離奇詭異,居然都是意外死亡猴伶,警方通過查閱死者的電腦和手機(jī)课舍,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 94,886評論 3 399
  • 文/潘曉璐 我一進(jìn)店門,熙熙樓的掌柜王于貴愁眉苦臉地迎上來他挎,“玉大人筝尾,你說我怎么就攤上這事“旖埃” “怎么了筹淫?”我有些...
    開封第一講書人閱讀 168,814評論 0 361
  • 文/不壞的土叔 我叫張陵,是天一觀的道長崔挖。 經(jīng)常有香客問我贸街,道長,這世上最難降的妖魔是什么狸相? 我笑而不...
    開封第一講書人閱讀 59,869評論 1 299
  • 正文 為了忘掉前任薛匪,我火速辦了婚禮,結(jié)果婚禮上脓鹃,老公的妹妹穿的比我還像新娘逸尖。我一直安慰自己,他們只是感情好,可當(dāng)我...
    茶點(diǎn)故事閱讀 68,888評論 6 398
  • 文/花漫 我一把揭開白布娇跟。 她就那樣靜靜地躺著岩齿,像睡著了一般。 火紅的嫁衣襯著肌膚如雪苞俘。 梳的紋絲不亂的頭發(fā)上盹沈,一...
    開封第一講書人閱讀 52,475評論 1 312
  • 那天,我揣著相機(jī)與錄音吃谣,去河邊找鬼乞封。 笑死,一個(gè)胖子當(dāng)著我的面吹牛岗憋,可吹牛的內(nèi)容都是我干的肃晚。 我是一名探鬼主播,決...
    沈念sama閱讀 41,010評論 3 422
  • 文/蒼蘭香墨 我猛地睜開眼仔戈,長吁一口氣:“原來是場噩夢啊……” “哼关串!你這毒婦竟也來了?” 一聲冷哼從身側(cè)響起监徘,我...
    開封第一講書人閱讀 39,924評論 0 277
  • 序言:老撾萬榮一對情侶失蹤晋修,失蹤者是張志新(化名)和其女友劉穎,沒想到半個(gè)月后凰盔,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體飞蚓,經(jīng)...
    沈念sama閱讀 46,469評論 1 319
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 38,552評論 3 342
  • 正文 我和宋清朗相戀三年廊蜒,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片溅漾。...
    茶點(diǎn)故事閱讀 40,680評論 1 353
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡,死狀恐怖,靈堂內(nèi)的尸體忽然破棺而出饲嗽,到底是詐尸還是另有隱情票罐,我是刑警寧澤,帶...
    沈念sama閱讀 36,362評論 5 351
  • 正文 年R本政府宣布暮胧,位于F島的核電站锐借,受9級特大地震影響,放射性物質(zhì)發(fā)生泄漏往衷。R本人自食惡果不足惜钞翔,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 42,037評論 3 335
  • 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望席舍。 院中可真熱鬧布轿,春花似錦、人聲如沸。這莊子的主人今日做“春日...
    開封第一講書人閱讀 32,519評論 0 25
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽。三九已至萝毛,卻和暖如春项阴,著一層夾襖步出監(jiān)牢的瞬間,已是汗流浹背笆包。 一陣腳步聲響...
    開封第一講書人閱讀 33,621評論 1 274
  • 我被黑心中介騙來泰國打工环揽, 沒想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留,地道東北人色查。 一個(gè)月前我還...
    沈念sama閱讀 49,099評論 3 378
  • 正文 我出身青樓薯演,卻偏偏與公主長得像,于是被迫代替她去往敵國和親秧了。 傳聞我的和親對象是個(gè)殘疾皇子跨扮,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 45,691評論 2 361

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

  • 一、php可以做什么 php是一種可以在服務(wù)器端運(yùn)行的編程語言验毡,可以運(yùn)行在Web服務(wù)器端衡创。 php是一門后臺編程語...
    空谷悠閱讀 3,104評論 4 97
  • 空閑時(shí)間學(xué)習(xí)學(xué)習(xí)php的知識,長期記錄博客晶通。知識點(diǎn)比較零散璃氢,只是對感覺有必要注意的知識點(diǎn)做個(gè)記錄。 雙引號和單引號...
    WhisperKarl閱讀 468評論 1 2
  • 對于php總的來說屬于后端方面的內(nèi)容狮辽,就是服務(wù)器端下面就是他的幾個(gè)特點(diǎn) 1一也、運(yùn)行在服務(wù)器端:學(xué)會(huì)了PHP,就可以指...
    tinaaaabbb閱讀 305評論 1 2
  • 1 php的標(biāo)記 <?php echo "hello php" ...
    零點(diǎn)起飛閱讀 144評論 0 0
  • 著實(shí)是對微信微博喪失了信心喉脖,又想著對自己生活的點(diǎn)滴能有個(gè)記錄椰苟,所以翻著找著來到簡書了。先試著看吧树叽。 是啊舆蝴,誰不...
    聽水拾白閱讀 131評論 0 1