phalcon—— PHP基礎知識(一)

1、變量和常量

1.一、變量名(標示符)

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

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

4)變量名稱可以與函數名稱一樣,儘管是贊成的。但應儘可能避免混淆。java

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


好比:
數組

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


1.二、數據類型

1) Integer: 用來表示整數。cookie

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

3) String: 用來表示字符串。spa

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

5) Array: 用來保存具備一樣類型的多個數據項。scala

6) Object: 用來保存類的實例。

PHP可以在不論什麼時間依據保存在變量中的值來肯定變量的類型,當需要強制類型轉換時可以依照java的語法來轉換

好比:

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

1.三、常量的定義

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

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

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

  • 常量前面沒有美圓符號($);
  • 常量僅僅能用 define() 函數定義。而不能經過賦值語句;
  • 常量可以不用理會變量的做用域而在不論什麼地方定義和訪問;
  • 常量一旦定義就不能被又一次定義或者取消定義;
  • 常量的值僅僅能是標量。



1.四、變量做用域

做用域指在一個腳本中某個變量可以使用或可見的範圍。PHP具備6項主要的做用域規則。

1) 內置超級全局變量可以在腳本中的不論什麼地方使用。

好比:

$GLOBALS: 所有全局變量數組。

$_SERVER: server環境變量數組

$_GET: GET方法傳遞給該腳本的變量數組

$_POST: POST方法傳遞給該腳本的變量數組

$_COOKIE: cookie變量數組

$_FILES: 與文件上傳相關的變量數組

$_ENV: 環境變量數組

$_REQUEST: 所有用戶輸入的變量數據,包含$_GET、$_POST和$_COOKIE

$_SESSION: 會話變量數組

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

3) 在腳本中聲明的全局變量在全腳本中是可見的。

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

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

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


2、運算符或操做符

2.一、算數運算符

算術操做符也就是數字操做符。通常用於整型或雙精度類型的數據。假設應用在字符串中。PHP會試圖將這些字符轉換成一個數字,假設當中包括"e"或"E",它會被看成是科學表示法並被轉換成浮點數,不然將會被轉換成整數。PHP會在字符串開始處尋找數字。並且使用這些數字做爲該字符串的值。假設沒有找到數字,則該字符串的值爲0。

操做符

名稱

演示樣例

+

$a + $b

-

$a - $b

*

$a * $b

/

$a / $b

%

$a % $b





                                                                                                               



2.二、字符串鏈接

利用「.」

$string = "hello"." world";

2.三、賦值運算

複合賦值操做符

操做符

用法

等價於

+=

$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.四、引用

引用操做符"&"可以在關聯賦值中使用。引用至關於一個別名,而不是一個指針,它使兩個變量指向一樣的內存地址,可以使用unset來重置

好比:

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

2.五、比較運算

比較操做符

操做符

名稱

用法

==

等於

$a == $b

===

恆等

$a === $b

!=

不等

$a != $b

!==

不恆等

$a !== $b

<>

不等

$a <> $b

<

小於

$a < $b

>

大於

$a > $b

<=

小於等於

$a <= $b

>=

大於等於

$a >= $b















2.六、邏輯運算

邏輯操做符

操做符

名稱

用法

!

!$b

&&

$a && $b

||

$a || $b

and

$a and $b

or

$a or $b

xor

異或

$a xor $b











2.七、位運算

位操做符

操做符

名稱

用法

&

按位與

$a & $b

|

按位或

$a | $b

~

按位非

~$a

^

按位異或

$a ^ $b

<<

左位移

$a << $b

>>

右位移

$a >> $b











2.八、其它

1) 逗號操做符

逗號操做符","用來分隔函數參數和其它列表項,這個操做符經常被附帶使用。

2) 類操做符

"new"和"->"分別用來初始化類的實例和訪問類的成員。

3) 三元操做符

三元操做符"? :"相似於條件語句if-else的表達式版本號,語法格式例如如下:

condition ?

value if true : value if false


4) 錯誤抑制符

錯誤抑制符"@"可以在不論什麼表達式前使用,使用這個操做符。可以抑制代碼產生的警告。

5) 運行操做符

運行操做符是一對操做符,它是一對反向單引號"` `",PHP將試着將反向單引號之間的命令看成server端的命令行來運行,表達式的值就是命令的運行結果,好比:

echo `ls -l`;


6) 類型操做符

"instanceof"操做符贊成檢查一個對象是不是特定類的實例,好比:

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

2.九、操做符優先級以及結合性

由低到高例如如下:

操做符優先級

結合性

操做符

,

or

xor

and

print

= += -= *= /= .= %= &= != ^= ~= <<= >>=

? :

||

&&

!

^

&

不相關

== != === !==

不相關

< <= > >=

<< >>

+ - .

* / %

! ~ ++ -- (type) @

[ ]

不相關

new

不相關

()


























3、測試函數與測試變量

3.一、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.二、測試變量狀態

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、控制語句

4.一、if else

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

4.二、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.三、while

while (condition) {
  expression;
}

4.四、for

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

expression1在開始時僅僅運行一次。一般在這裏設置計數器的初始值。

在每一次循環開始以前,condtion表達式將被測試,假設表達式的值爲false,循環將結束。

expression2在每一次循環結束時運行。一般在這裏調整計數器的值。expression3在每一次循環中運行一次。

4.五、do while

do {
  expression;
}
while (condition);

4.六、跳出控制結構

假設但願中止一段代碼的運行,可以有3種方法。

1) 假設但願終止一個循環。可以使用break語句。腳本會從循環體後面的第一條語句開始運行。

2) 假設但願跳到下一次循環,可以使用continue語句。

3) 假設但願結束整個PHP腳本的運行,可以使用exit語句。

相關文章
相關標籤/搜索