PHP學(xué)習(xí)隨筆.1

PHP的語法


php的語法是<?php開頭深滚,?>結(jié)尾的

<!DOCTYPE html>
<html>
<body>
<h1>My first PHP page</h1>
//  php的單行注釋
<?php
echo "Hello World!";
?>
/*
這是php
的多行
注釋
*/
</body>
</html>

PHP的標(biāo)記風(fēng)格


PHP和其他的Web的語言一樣,都是使用一對(duì)標(biāo)記將PHP代碼部分包含起來.PHP一共支持4中標(biāo)記風(fēng)格

  • XML風(fēng)格
    <?php
        echo  "這是XML標(biāo)記風(fēng)格!";
    ?>
    
  • 腳本風(fēng)格
    <script  language='php'>
        echo "這是腳本風(fēng)格標(biāo)記!";
    </script>
    
  • 簡(jiǎn)短風(fēng)格
    <? echo "這是簡(jiǎn)短風(fēng)格"; ?>
    
  • ASP風(fēng)格
    <%
        echo "這是asp風(fēng)格";     # #好風(fēng)格的注釋
    %>
    

PS:如果使用簡(jiǎn)短風(fēng)格和ASP風(fēng)格,要在php.ini文件中設(shè)置,將short_open_tag和asp_tags設(shè)置為on,重啟服務(wù)器.

PHP的變量


PHP變量的定義

變量是用來存儲(chǔ)數(shù)據(jù)的"容器"
PHP的變量規(guī)則:

  1. 變量以 $ 符號(hào)開始映皆,后面跟著變量的名稱
  2. 變量名必須以字母或者下劃線字符開始
  3. 變量名只能包含字母數(shù)字字符以及下劃線(A-z挤聘、0-9 和 _ )
  4. 變量名不能包含空格
  5. 變量名是區(qū)分大小寫的(y 和Y 是兩個(gè)不同的變0)
$x = 10
$y = 12
$text = "HELLO"
$z = $x + $y
PS: PHP 是一門弱類型語言,PHP 會(huì)根據(jù)變量的值,自動(dòng)把變量轉(zhuǎn)換為正確的數(shù)據(jù)類型捅彻。在強(qiáng)類型的編程語言中组去,我們必須在使用變量前先聲明(定義)變量的類型和名稱。
PHP變量的作用域

PHP的有四種不同的變量作用域

  1. local,局部作用域
    <?php
    function test()
    {
        $a = 15;
        echo "內(nèi)部輸出結(jié)果:" . $a;
    }
    echo "外部輸出結(jié)果:" . $a;  // 無法訪問變量 a
    echo PHP_EOL;
    test();
    ?>
    
  2. glocal,全局作用域
    <?php
    $x = 5;
    $y = 10;
    $z = 0;
    function test()
    {
        global$x,$y,$z;
        $z = $x + $y;
    }
    test();
    echo $z;    //結(jié)果是15
    
    
    
    $x = 5;
    $y = 10;
    $z = 0;
    function test()
    {
         $GLOBALS['z'] = $GLOBALS['x']+$GLOBALS['y'];
    }
    Test();
    echo $z;               //結(jié)果是15
    ?>
    
  3. static,靜態(tài)作用域,當(dāng)一個(gè)函數(shù)執(zhí)行完成時(shí)步淹,它的所有變量通常都會(huì)被刪除从隆。然而,有時(shí)需要局部變量不要被刪除缭裆,要做到這一點(diǎn)键闺,請(qǐng)?jiān)谀谝淮温暶髯兞繒r(shí)使用 static 關(guān)鍵字。當(dāng)一個(gè)函數(shù)完成時(shí)澈驼,它的所有變量通常都會(huì)被刪除辛燥。然而,有時(shí)候您希望某個(gè)局部變量不要被刪除。
   <?php
   function test() {
       static $x=0;
       echo $x . " ";
       $x++;
   }
   test();
   test();
   test();
   test();
   ?>
   // 輸出結(jié)果為0 1 2 3
  1. parameter(參數(shù))——參數(shù)作用域
    參數(shù)是通過調(diào)用代碼將值傳遞給函數(shù)的局部變量挎塌。關(guān)于局部變量和全局變量的優(yōu)先級(jí)徘六,因?yàn)樵赑HP中函數(shù)都有自己?jiǎn)为?dú)的作用域,所以在局部變量的優(yōu)先級(jí)要大于全局變量(在你不聲明這個(gè)變量之前)榴都,聲明之后此變量就變成了局部變量如果修改值那么全局變量的值也會(huì)改變待锈。
   <?php
   $a = 10;
   $b = 5;
   function test()
   {
       $a = 15;
       $b = 5;
       $z = $a-$b;
       echo $z;
   }
   test();
   function test1()
   {
            global $a,$b;
            $a = 15;
            $b = 5;
            $z = $a-$b;
            echo PHP_EOL;
            echo $z;
   }
   test1();
   function test2()
   {
       global $a,$b;
       $z= $a-$b;
       echo PHP_EOL;    //換行符
       echo $z;
   }
   test2();
   // 輸出結(jié)果為10 10 10
   ?>
PHP EOF

PHP EOF(heredoc)是一種在命令行shell(如sh、csh嘴高、ksh竿音、bash、PowerShell和zsh)和程序語言(像Perl拴驮、PHP春瞬、Python和Ruby)里定義一個(gè)字符串的方法。
使用概述:

  1. 必須后接分號(hào)莹汤,否則編譯通不過快鱼。
  2. EOF 可以用任意其它字符代替颠印,只需保證結(jié)束標(biāo)識(shí)與開始標(biāo)識(shí)一致纲岭。
  3. 結(jié)束標(biāo)識(shí)必須頂格獨(dú)自占一行(即必須從行首開始,前后不能銜接任何空白和字符)线罕。
  4. 開始標(biāo)識(shí)可以不帶引號(hào)或帶單雙引號(hào)止潮,不帶引號(hào)與帶雙引號(hào)效果一致,解釋內(nèi)嵌的變量和轉(zhuǎn)義符號(hào)钞楼,帶單引號(hào)則不解釋內(nèi)嵌的變量和轉(zhuǎn)義符號(hào)喇闸。
  5. 當(dāng)內(nèi)容需要內(nèi)嵌引號(hào)(單引號(hào)或雙引號(hào))時(shí),不需要加轉(zhuǎn)義符询件,本身對(duì)單雙引號(hào)轉(zhuǎn)義燃乍,此處相當(dāng)與q和qq的用法。
<?php
echo <<<EOF
        <h1>我的第一個(gè)標(biāo)題</h1>
        <p>我的第一個(gè)段落宛琅。</p>
EOF;
// 結(jié)束需要獨(dú)立一行且前后不能空格

$name="runoob";
$a= <<<EOF
        "abc"$name
        "123"
EOF;
// 結(jié)束需要獨(dú)立一行且前后不能空格
echo $a;
?>

PS:

  1. 以 <<<EOF 開始標(biāo)記開始刻蟹,以 EOF 結(jié)束標(biāo)記結(jié)束,結(jié)束標(biāo)記必須頂頭寫嘿辟,不能有縮進(jìn)和空格舆瘪,且在結(jié)束標(biāo)記末尾要有分號(hào) 。
  2. 開始標(biāo)記和結(jié)束標(biāo)記相同红伦,比如常用大寫的 EOT英古、EOD、EOF 來表示昙读,但是不只限于那幾個(gè)(也可以用:JSON召调、HTML等),只要保證開始標(biāo)記和結(jié)束標(biāo)記不在正文中出現(xiàn)即可。
  3. 位于開始標(biāo)記和結(jié)束標(biāo)記之間的變量可以被正常解析某残,但是函數(shù)則不可以国撵。在 heredoc 中,變量不需要用連接符 . 或 , 來拼接.
PHP的輸出語句對(duì)比

echo玻墅,print介牙,print_r,var_dump 的區(qū)別

  1. echo
    輸出一個(gè)或者多個(gè)字符串澳厢。

  2. print
    和 echo 最主要的區(qū)別: print 僅支持一個(gè)參數(shù)环础,并總是返回 1。

  3. print_r
    打印關(guān)于變量的易于理解的信息,如果給出的是 string剩拢、integer 或 float线得,將打印變量值本身。如果給出的是 array徐伐,將會(huì)按照一定格式顯示鍵和元素贯钩。object 與數(shù)組類似。 記住办素,print_r() 將把數(shù)組的指針移到最后邊角雷。使用 reset() 可讓指針回到開始處。

  4. var_dump
    此函數(shù)顯示關(guān)于一個(gè)或多個(gè)表達(dá)式的結(jié)構(gòu)信息性穿,包括表達(dá)式的類型與值勺三。數(shù)組將遞歸展開值,通過縮進(jìn)顯示其結(jié)構(gòu)需曾。

  5. var_dump 和 print_r 的區(qū)別
    var_dump 返回表達(dá)式的類型與值而 print_r 僅返回結(jié)果吗坚,相比調(diào)試代碼使用 var_dump 更便于閱讀。

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
  • 序言:七十年代末呆万,一起剝皮案震驚了整個(gè)濱河市商源,隨后出現(xiàn)的幾起案子,更是在濱河造成了極大的恐慌谋减,老刑警劉巖牡彻,帶你破解...
    沈念sama閱讀 211,376評(píng)論 6 491
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件,死亡現(xiàn)場(chǎng)離奇詭異逃顶,居然都是意外死亡讨便,警方通過查閱死者的電腦和手機(jī),發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 90,126評(píng)論 2 385
  • 文/潘曉璐 我一進(jìn)店門以政,熙熙樓的掌柜王于貴愁眉苦臉地迎上來霸褒,“玉大人,你說我怎么就攤上這事盈蛮》狭猓” “怎么了?”我有些...
    開封第一講書人閱讀 156,966評(píng)論 0 347
  • 文/不壞的土叔 我叫張陵,是天一觀的道長(zhǎng)殊轴。 經(jīng)常有香客問我衰倦,道長(zhǎng),這世上最難降的妖魔是什么旁理? 我笑而不...
    開封第一講書人閱讀 56,432評(píng)論 1 283
  • 正文 為了忘掉前任樊零,我火速辦了婚禮,結(jié)果婚禮上孽文,老公的妹妹穿的比我還像新娘驻襟。我一直安慰自己,他們只是感情好芋哭,可當(dāng)我...
    茶點(diǎn)故事閱讀 65,519評(píng)論 6 385
  • 文/花漫 我一把揭開白布沉衣。 她就那樣靜靜地躺著,像睡著了一般减牺。 火紅的嫁衣襯著肌膚如雪豌习。 梳的紋絲不亂的頭發(fā)上,一...
    開封第一講書人閱讀 49,792評(píng)論 1 290
  • 那天拔疚,我揣著相機(jī)與錄音肥隆,去河邊找鬼。 笑死草雕,一個(gè)胖子當(dāng)著我的面吹牛巷屿,可吹牛的內(nèi)容都是我干的固以。 我是一名探鬼主播墩虹,決...
    沈念sama閱讀 38,933評(píng)論 3 406
  • 文/蒼蘭香墨 我猛地睜開眼,長(zhǎng)吁一口氣:“原來是場(chǎng)噩夢(mèng)啊……” “哼憨琳!你這毒婦竟也來了诫钓?” 一聲冷哼從身側(cè)響起,我...
    開封第一講書人閱讀 37,701評(píng)論 0 266
  • 序言:老撾萬榮一對(duì)情侶失蹤篙螟,失蹤者是張志新(化名)和其女友劉穎菌湃,沒想到半個(gè)月后,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體遍略,經(jīng)...
    沈念sama閱讀 44,143評(píng)論 1 303
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡惧所,尸身上長(zhǎng)有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 36,488評(píng)論 2 327
  • 正文 我和宋清朗相戀三年,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了绪杏。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片下愈。...
    茶點(diǎn)故事閱讀 38,626評(píng)論 1 340
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡,死狀恐怖蕾久,靈堂內(nèi)的尸體忽然破棺而出势似,到底是詐尸還是另有隱情,我是刑警寧澤,帶...
    沈念sama閱讀 34,292評(píng)論 4 329
  • 正文 年R本政府宣布履因,位于F島的核電站障簿,受9級(jí)特大地震影響,放射性物質(zhì)發(fā)生泄漏栅迄。R本人自食惡果不足惜站故,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 39,896評(píng)論 3 313
  • 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望毅舆。 院中可真熱鬧世蔗,春花似錦、人聲如沸朗兵。這莊子的主人今日做“春日...
    開封第一講書人閱讀 30,742評(píng)論 0 21
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽余掖。三九已至寸爆,卻和暖如春,著一層夾襖步出監(jiān)牢的瞬間盐欺,已是汗流浹背赁豆。 一陣腳步聲響...
    開封第一講書人閱讀 31,977評(píng)論 1 265
  • 我被黑心中介騙來泰國(guó)打工, 沒想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留冗美,地道東北人魔种。 一個(gè)月前我還...
    沈念sama閱讀 46,324評(píng)論 2 360
  • 正文 我出身青樓,卻偏偏與公主長(zhǎng)得像粉洼,于是被迫代替她去往敵國(guó)和親节预。 傳聞我的和親對(duì)象是個(gè)殘疾皇子,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 43,494評(píng)論 2 348