程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> 網頁編程 >> PHP編程 >> 關於PHP編程 >> php基礎學習筆記(12),php基礎學習筆記12

php基礎學習筆記(12),php基礎學習筆記12

編輯:關於PHP編程

php基礎學習筆記(12),php基礎學習筆記12


php基本語法

<?php
    //這個是php單行注釋
    /*
        這是多行注釋
    */
    //每條php語句使用英文分號結束——必須使用!
    //php是一門區分大小寫的語言——但函數名除外
    //php的任何一個變量名都要使用一個$符開頭。
?>

變量和常量

php中,變量使用一個$符號開頭。變量通常是直接賦值(此時如果是第一次賦值也就表示定義)。

常量:設定一個其值不會也不應該改變的數據標識符(數據名字),比如數學上的“pi”。

$pi = 3.14;        //這是變量

define(“PI”, 3.14);    //這是定義一個常量,名字為“PI”,值為3.14,這裡也就類似賦值

常量定義的同時也就是賦值,且只是這一次性的!

常量和變量的區別:

  • 常量前面沒有美元符號($)
  • 常量只能用 define() 函數定義,而不能通過賦值語句賦值
  • 常量可以不用理會變量范圍的規則而在任何地方定義和訪問
  • 常量一旦定義就不能被重新定義或者取消定義
  • 常量的值只能是標量(即整數,浮點數,字符串,布爾)

數據類型:

         基本類型(標量類型):

                   布爾類型(bool,boolean): 只有兩個數據:true  false

                   字符類型(string):可以是單引號,也可以是雙引號,還可以是“定界符”格式

                   整數類型(int,integer):

                            $v1 = 10;

                            $v2 = 012;                  //以0開始的數字表示“8進制”整數,這裡相當於10進制的10

                            $v3 = 0x1F;                //以0x開始的數字表示16進制整數,這裡相當於10進制的31

                   浮點類型(float,double)

                            $v4 = 12.34;

                            $v5 = 12.34e5;                   //12.34乘以10的5次方

         復合類型:

                   數組類型:

                   對象類型:

         特殊類型:

                   資源類型:表示某種“外界數據”的類型。

                   空類型(null):只有一個數據,就是“null”

 

3種字符串類型的區別:

$str1 = "abc\ndefg1";    //雙引號字符串中可以識別以下轉義字符:\"  \n  \r  \t  \\  \$
$str2 = 'a\bc\ndefg2\\';        //單引號字符串中只能識別以下轉義字符:\'  \\。其中"\\"通常只用於最後一個字符
//下述為定界符字符串,其中的“ABCD”是隨意命名的一個符號。字符串也就使用該符號結尾。
//定界符字符串中可以識別以下轉義字符:\n  \r  \t  \\  \$
$str3 = <<<ABCD
abc\nde"f'g3
這叫做定界符字符串
這個范圍的任何內容都是屬於str3這個字符串的內容
換行也可以直接換
還可以寫html和js等等。。。比如:
<hr />
<script>
    alert("dddd");
</script>
ABCD;
//特別注意:上述一行定界符字符串的結束符只能出現該名字本身和一個分號,不能有任何其他內容,比如空格,縮進(tab符)

//注意:在雙引號字符串和定界符字符串中,可以直接識別變量並用該該變量的值來填充其內容。
//如果想要不被識別,則需要使用"\$"來將該$符號進行轉義
    $i = 5;
    echo "$i=" . $i ;

傳值方式:

         值傳遞(賦值傳值):將一個變量的值拷貝一份,然後賦值給另一個變量,此時兩個變量的值相等(相同),但兩個變量是完全獨立的沒有關聯的變量。

                   默認情況下,在php中,簡單數據類型和數組以及空類型使用值傳遞。

         引用傳遞(引用傳值):將一個變量多代表的“地址”復制一份然後賦值給另一個變量,也就是相當於兩個變量同時指向(對應)一個相同的地址——此地址也就代表數據的位置。此時兩個變量值相等的同時,也表示這兩個變量其實指代的是一份共同的數據。

                   默認情況下,在php中,對象類型以及資源類型使用引用傳遞。

不過:

         我們也可以人為將默認使用賦值傳遞的數據來使用引用傳值。語法是:

         變量1  =  &變量2;

         舉例:

                   $v1 = 10;

                   $v2 = &$v1;      //$v1和$v2此時代表“一個數據內容”

                   $v1++;

                   echo $v2;

對比js:

         js中,只有默認傳值方式,沒有人為設定方式

         js中:默認值傳遞的類型有:數字,字符,布爾,兩個特殊類型

                     默認引用傳值的類型有:數組, 對象

運算符:

l  算術運算符: +   -   *   /  %  ++   --

  • +號只做“算術運算”,沒有雙重含義。
  • ++  --符號含義和用法完全同js。

l  寫在變量前,則:先自加(自減),再做其他運算(比如賦值)

l  寫在變量後,則:先做其他運算(比如賦值),再自加(自減)

  • %號只對整數進行取與運算,如果不是整數,會先自動轉為整數再取余

l  比較運算符:==   !=    >   >=   <   <=   ===(全等於)    !==(不全等於)

  • ==通常表示“模糊相等”,===表示精確相等(只有數據類型和數據值都一樣才等)
  • 模糊相等的各種情況請查手冊:附錄〉類型比較表

l  條件運算符:(expr1) ? (expr2) : (expr3),例:

  • 含義:對表達式exp1進行求值判斷,判斷結果如果是true,則整個表達式的結果就是exp2,否則整個表達式的結果是exp3
  • $v1 = $fs>60  ?  "及格"  :  "補考" ;  //則v1根據fs的值有兩個情況
  • 補充知識:一元運算符有:!, ++,  --,  ~,, 二元運算符就是我們用得最多的運算符,三元運算符就這一個。

l  邏輯運算符:&&(與)    ||(或)    ! (非)

  • 邏輯與&&: 只兩個數據都是true的時候,結果才是true
  • 邏輯或||: 只要有一個數據是true的時候,結果就是true
  • 邏輯非!: 取邏輯數據的相反值。

l  字符串運算符:. (即英文句號)       .=(即類似“+=”)  

  • .=只是一個“簡寫法”而已,$v1 = $v1 . “abc”;     è $v1 .= “abc”;

l  位運算符:&(與)    |(或)    ~(非)    ^(異或)    <<(左移)    >>(右移)

  • 位運算符都是針對數字的二進制來進行的。
  • 按位與&:只有兩個對應位上的數字都是1的時候結果才是1
  • 按位或|:只要有一個對應位上的數字是1,結果就是1
  • 按位非~:取反,即1變成0,0變成1
  • 按位異或^:兩個對應位上的數字不同的時候結果就是1

l  賦值運算符: =   +=   -=   *=    /=    %=   .=

 

運算符的優先級問題:基本同js。

 

數據類型轉換

在js中,基本沒有數據類型轉換的概念,實際的轉換都是“自動發生”的——默認轉換。

         js中有兩個“類似”類型轉換的函數: parseInt(….)  parseFloat(…)

php中,既有默認轉換,也有強制轉換。

默認轉換舉例:

$v1 = 10 - “3”;        //7;
    $v2 = 10 + “3”;        //13;
    $v3 = 10 + “3abc”;    //13;
    $v4 = 10 + “3.5abc”;    //13.5;
    $v5 = 10 + “abc3”;    //10;
    $v5 = 10 + “abc”;    //10
    $v5 = “10” + “abc”;    //10
    $v5 = “10ABC” + “5abc”;    //15
    $v5 = “ABC10” + “abc5”;    //0
    $v5 = “ABC” + “abc”;    //0

………………….凡是使用算術運算符進行運算,都會“看成”數字,如果實在轉不成一個數字,也會當做0來進行計算。

強制轉換

語法: (要轉成的目標類型)數據;
    舉例:
    $v1 = (int) “3.5abc”;    //3;int類型
    $v1 = (float) “3.5abc”;    //3.5;    //這裡其實是float類型
    $v1 = (string) 3;        //”3”;
    $v1 = (bool) “3.5”;        //true

——特別推薦將一個數據轉換為bool類型的時候:查手冊:附錄〉類型比較表〉對變量 $x 進行比較 〉 if($x)列

 

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved