天天看點

新手上路(三)

PHP入門

資料類型

PHP支援整數、浮點數、字元串、數組和對象。

你可以使用cast或者函數settype()将某種類型的變量轉換成指定的類型。

數值

    數值類型可以是整數或是浮點數。你可以用以下的語句來為一個數值指派:

$a = 1234; # 十進制數

$a = -123; # 負數

$a = 0123; # 八進制數 (等于十進制數的83)

$a = 0x12; # 十六進制數(等于十進制數的18)

$a = 1.234; # 浮點數"雙精度數"

$a = 1.2e3; # 雙精度數的指數形式

字元串

    可以用‘’或“”引出字段定義

''引出的字元串是以字面定義

" "可以使用反斜杠()在字元串加入轉義序列和轉換字元

例:

$first = 'Hello';

$second = "World";

$full1 = "$first $second"; # 産生 Hello World

$full2 = '$first $second';# 産生 $first $second

$full3="01DC studio,." 2000 copyright." " ;

  請注意最後一行,如果需要在字元串中使用雙引号,可以使用反斜杠字元,象該行語句所示。這裡的的反斜杠用來使雙引号的功能改變。

數組與哈希表

 數組與哈希表以同樣的方法被支援。可以用list()或者array()來定義它,也可以直接為數組指派。數組的索引從0開始。

// 一個包含兩個元素的數組

$a[0] = "first";

$a[1] = "second";

$a[] = "third"; // 添加數組元素的簡單方法

// 現在$a[2]被指派為"third"

echo count($a); // 列印出3,因為該數組有3個元素

// 用一個語句定義一個數組并指派

$myphonebook = array (

"sbabu" => "5348",

"keith" => "4829",

"carole" => "4533"

);

// 噢,忘了教長吧,讓我們添加一個元素

$myphonebook["dean"] = "5397";

// 你定義的carale元素錯了,讓我們更正它

$myphonebook["carole"] => "4522"

// 我還沒有告訴你怎樣使用數組的相似支援方式嗎?讓我們看一看

echo "$myphonebook[0]"; // sbabu

echo "$myphonebook[1]"; // 5348

其他一些對數組或哈希表有用的函數包括sort(),next(),prev()和each()。

對象

 使用new語句産生一個對像;

class foo

{

function do_foo ()

{

echo "Doing foo.";

}

}

$bar = new foo;

$bar->do_foo();

改變變量類型

 PHP不支援(也不需要)直接在聲明變量時定義變量類型;變量類型将根據其被應用的情況決定。

$foo = "0"; // $foo是字元串(ASCII 48)

$foo ; // $foo是字元串"1" (ASCII 49)

$foo = 1; // $foo現在是整數(2)

$foo = $foo 1.3; // $foo是一個雙精度數(3.3)

$foo = 5 "10 Little Piggies"; // $foo是一個整數(15)

$foo = 5 "10 Small Pigs"; // $foo是一個整數(15)

如果想要強行轉換變量類型,可以使用與C語言相同的函數settype()。

變量與常量

 變量都有一個美元符号($)的字首。所有變量都是局部變量,為了使得定義的函數中可以使用外部變量,使用global語句。而你要将該變量的作用範圍限制在該函數之内,使用static語句。

$g_var = 1 ; // 全局範圍

function test()

{

global $g_var; // 這樣就可以聲明全局變量了

}

  更先進一些的是變量的變量表示。請參考PHP手冊。這在有時會顯得很有用。

  PHP内置了許多已定義的變量。你也可以用define函數定義你自己的常量,比如define("CONSTANT","value")。

運算符

  以下隻有一種運算符是有關字元的:

$a $b :加

$a - $b :減

$a * $b :乘

$a / $b :除

$a % $b :取模(餘數)

$a . $b :字元串連接配接

邏輯和比較

 邏輯運算符有:

$a || $b :或

$a or $b :或

$a && $b :與

$a and $b :與

$a xor $b :異或 (當$a或$b為true時為true,兩者一樣時為false)

! $a :非

比較運算符有:

$a == $b :相等

$a != $b :不等

$a < $b :小于

$a <= $b :小于等于

$a > $b :大于

$a >= $b :大于等于

與C一樣PHP也有三重運算符(?:)。位操作符在PHP同樣存在。

控制流程結構

  PHP有着與C一樣的流程控制。我将在下面大概介紹。

if, else, elseif, if(): endif

if (表達式一)

{

. . .

}

elseif (表達式二)

{

. . .

}

else

{

. . .

}

// 或者像Python一樣

if (表達式一) :

. . .

. . .

elseif (表達式二) :

. . .

else :

. . .

endif ;

Loops. while, do..while, for

while (表達式)

{

. . .

}

do

{

. . .

}

while (表達式);

for (表達式一; 表達式二; 表達式三)

{

. . .

}

//或者像Python一樣

while (expr) :

. . .

endwhile ;

switch

switch是對多重if-elseif-else結構的最好的替換:

switch ($i)

{

case 0:

print "i equals 0";

case 1:

print "i equals 1";

case 2:

print "i equals 2";

}

break, continue

break中斷目前的循環控制結構。

continue被用來跳出剩下的目前循環并繼續執行下一次循環。

require, include

  就像C中的#include預處理一樣。你在require中指定的那個檔案将替代其在主檔案中的位置。在有條件的引用檔案時,可以使用include()。這樣就使得你可以将複雜的PHP檔案分割成多個檔案并且在不同需要時分别引用它們。

函數

  你可以像以下的例子一樣定義自己的函數。函數的傳回值可以是任何資料類型:

function foo (變量名一, 變量名二, . . . , 變量名n)

{

echo "Example function.n";

return $retval;

}

  所有PHP代碼都可以出現在函數定義中,甚至包括對其他函數和類的定義。函數必須在引用之前定義。

  利用類模型建立類。可以參考PHP手冊中對類的詳細解釋。

class Employee

{

var $empno; // 員勞工數

var $empnm; // 員工姓名

function add_employee($in_num, $in_name)

{

$this->empno = $in_num;

$this->empnm = $in_name;

}

function show()

{

echo "$this->empno, $this->empnm";

return;

}

function changenm($in_name)

{

$this->empnm = $in_name;

}

}

$sbabu = new Employee;

$sbabu->add_employee(10,"sbabu");

$sbabu->changenm("babu");

$sbabu->show();