phalcon?? PHP基礎知識(一)

來源:互聯網
上載者:User
一、變數和常量

1.1、變數名(標示符)

1)變數:$開頭標誌
2)變數名:可以由字母,數字,_ 3者組成,不能用數字開頭

3)標識符是區分大小寫,但函數名不區分大小寫。

4)變數名稱可以與函數名稱相同,雖然是允許的,但應盡量避免混淆。

PHP不要求在使用變數之前聲明變數,當第一次給一個變數賦值時,才建立了這個變數。

例如:

$3age;//錯$_ = 6;//可以$*p = 30;//錯


1.2、資料類型

1) Integer: 用來表示整數。

2) Float: 用來表示所有實數。

3) String: 用來表示字串。

4) Boolean: 用來表示true或false。

5) Array: 用來儲存具有相同類型的多個資料項目。

6) Object: 用來儲存類的執行個體。

PHP可以在任何時間根據儲存在變數中的值來確定變數的類型,當需要強制類型轉換時可以按照java的文法來轉換

例如:

$icount = 0;$fcount = (float)$icount;

1.3、常量的定義

常量可以儲存一個值,但是程式一旦初始化之後,常量的值就不能改變。

define('PI', 3.14159);echo PI;

常量一般用大寫表示,用define函數定義,並且不用$符號標識。


1.4、變數範圍

範圍指在一個指令碼中某個變數可以使用或可見的範圍,PHP具有6項基本的範圍規則。

1) 內建超級全域變數可以在指令碼中的任何地方使用。

例如:

$GLOBALS: 所有全域變數數組。$_SERVER: 伺服器環境變數數組$_GET: GET方法傳遞給該指令碼的變數數組$_POST: POST方法傳遞給該指令碼的變數數組$_COOKIE: cookie變數數組$_FILES: 與檔案上傳相關的變數數組$_ENV: 環境變數數組$_REQUEST: 所有使用者輸入的變數資料,包括$_GET、$_POST和$_COOKIE$_SESSION: 會話變數數組

2) 常量一旦被聲明,可以在全域可見。

3) 在指令碼中聲明的全域變數在全指令碼中是可見的。

4) 函數內部使用的變數聲明為全域變數時,名稱要與全域變數名稱一致。

5) 函數內部建立並聲明為靜態變數在函數外不可見,但在函數的多次執行過程中保持該值。

6) 函數內部建立的變數是本地的,當函數終止時,該變數也就不存在。


二、運算子或操作符

2.1、算數運算子

算術操作符也就是數字操作符,通常用於整型或雙精確度類型的資料。如果應用在字串中,PHP會試圖將這些字元轉換成一個數字,如果其中包含"e"或"E",它會被當作是科學標記法並被轉換成浮點數,否則將會被轉換成整數。PHP會在字串開始處尋找數字,並且使用這些數字作為該字串的值,如果沒有找到數字,則該字串的值為0。

操作符 名稱 樣本
+ $a + $b
- $a - $b
* $a * $b
/ $a / $b
% $a % $b






2.2、字串串連

利用“.”

$string = "hello"." world";

2.3、賦值運算

複合賦值操作符
操作符 使用方法 等價於
+= $a += $b $a = $a + $b
-= $a -= $b $a = $a - $b
*= $a *= $b $a = $a * $b
/= $a /= $b $a = $a / $b
%= $a %= $b $a = $a % $b
.= $a .= $b $a = $a . $b








2.4、引用

引用操作符"&"可以在關聯賦值中使用。引用相當於一個別名,而不是一個指標,它使兩個變數指向相同的記憶體位址,可以使用unset來重設

例如:

$a = 1;$b = &$a;$b = 2;unset($a);

2.5、比較運算

比較操作符
操作符 名稱 使用方法
== 等於 $a == $b
=== 恒等 $a === $b
!= 不等 $a != $b
!== 不恒等 $a !== $b
<> 不等 $a <> $b
< 小於 $a < $b
> 大於 $a > $b
<= 小於等於 $a <= $b
>= 大於等於 $a >= $b










2.6、邏輯運算

邏輯操作符
操作符 名稱 使用方法
! !$b
&& $a && $b
|| $a || $b
and $a and $b
or $a or $b
xor 異或 $a xor $b








2.7、位元運算

位操作符
操作符 名稱 使用方法
& 按位與 $a & $b
| 按位或 $a | $b
~ 按位非 ~$a
^ 按位異或 $a ^ $b
<< 左位移 $a << $b
>> 右位移 $a >> $b








2.8、其他

1) 逗號操作符

逗號操作符","用來分隔函數參數和其他清單項目,這個操作符經常被附帶使用。

2) 類操作符

"new"和"->"分別用來初始化類的執行個體和訪問類的成員。

3) 三元操作符

三元操作符"? :"類似於條件陳述式if-else的運算式版本,文法格式如下:

condition ? value if true : value if false

4) 錯誤抑制符

錯誤抑制符"@"可以在任何錶達式前使用,使用這個操作符,可以抑制代碼產生的警告。

5) 執行操作符

執行操作符是一對操作符,它是一對反向單引號"` `",PHP將試著將反向單引號之間的命令當作伺服器端的命令列來執行,運算式的值就是命令的執行結果,例如:

echo `ls -l`;


6) 類型操作符

"instanceof"操作符允許檢查一個對象是否是特定類的執行個體,例如:

if ($object instanceof sampleClass)  echo "Object is an instance of sampleClass";

2.9、操作符優先順序以及結合性

由低到高如下:

操作符優先順序
結合性 操作符
,
or
xor
and
print
= += -= *= /= .= %= &= != ^= ~= <<= >>=
? :
||
&&
!
^
&
不相關 == != === !==
不相關 < <= > >=
<< >>
+ - .
* / %
! ~ ++ -- (type) @
[ ]
不相關 new
不相關 ()




















三、測試函數與測試變數

3.1、PHP提供了特定類型的測試函數。

例如:

1) is_array(): 檢查變數是否是數組。

2) is_double()、is_float()、is_real(): 檢查變數是否是浮點數,所有函數相同。

3) is_long()、is_int()、is_integer(): 檢查變數是否是整數,所有函數相同。

4) is_string(): 檢查變數是否是字串。

5) is_bool(): 檢查變數是否是布爾值。

6) is_object(): 檢查變數是否是一個對象。

7) is_resource(): 檢查變數是否是一個資源。

8) is_null(): 檢查變數是否為null。

9) is_scalar(): 檢查變數是否是標量,即整數、布爾值、字串或浮點數。

10) is_numeric(): 檢查變數是否是數字或數字字串。

11) is_callable(): 檢查變數是否是有效函數名稱。


3.2、測試變數狀態

PHP有幾個函數用來測試變數狀態。

例如:

1) isset()

bool isset(mixed var[, mixed var[, ...]])

issset()需要一個變數作為參數,如果這個變數存在,則返回true,否則返回false。也可以傳遞一個由逗號間隔的變數列表,如果所有變數都被設定了,即返回true。

還可以使用與isset()相對應的unset()來銷毀一個變數:

void unset(mixed var[, mixed var[, ...]])

2) empty()

bool empty(mixed var)

empty()可以用來檢查一個變數是否存在,以及它的值是否為非空和非0,相應的傳回值為true或false。

四、控制語句

4.1、if else

if (condition) {  expression;}elseif (condition) {  expression;}else {  expression;}

4.2、switch

switch (expression) {  case value1:    expression;    break;  case value2:    expression;    break;  defalut:    expression;    break;}

switch語句工作方式類似於if語句,但是它允許條件可以有多於兩個的可能值。在switch語句中,只要條件是一個簡單的資料類型,可以提供一個case語句來處理每一個條件值,並且提供相應的動作代碼,此外還有一個預設的case條件來處理沒有提供特定值的情況。

當switch語句中的特定case被匹配時,PHP將執行該case下的代碼,直至遇到break語句,如果沒有break語句,switch將執行這個case以下所有值為true的case中的代碼。

4.3、while

while (condition) {  expression;}

4.4、for

for (expression1; condition; expression2) {  expression3;}

expression1在開始時只執行一次,通常在這裡設定計數器的初始值。在每一次迴圈開始之前,condtion運算式將被測試,如果運算式的值為false,迴圈將結束。expression2在每一次迴圈結束時執行,通常在這裡調整計數器的值。expression3在每一次迴圈中執行一次。

4.5、do while

do {  expression;}while (condition);

4.6、跳出控制結構

如果希望停止一段代碼的執行,可以有3種方法。

1) 如果希望終止一個迴圈,可以使用break語句,指令碼會從迴圈體後面的第一條語句開始執行。

2) 如果希望跳到下一次迴圈,可以使用continue語句。

3) 如果希望結束整個PHP指令碼的執行,可以使用exit語句。

  • 聯繫我們

    該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

    如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

    A Free Trial That Lets You Build Big!

    Start building with 50+ products and up to 12 months usage for Elastic Compute Service

    • Sales Support

      1 on 1 presale consultation

    • After-Sales Support

      24/7 Technical Support 6 Free Tickets per Quarter Faster Response

    • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.