當前位置:才華齋>計算機>php語言>

php基礎入門知識

php語言 閱讀(8.72K)

導語:php入門必須先了解一些最基礎的知識,下面就由小編為大家介紹一下php基礎入門知識,歡迎大家閱讀!

php基礎入門知識

  一、資料型別:字串、整數、浮點數、邏輯、陣列、物件、NULL

var_dump -- 列印變數的相關資訊

1、字串:字串是字元序列,雙引號單引號都可以。

(1)字串函式

①strlen()函式 返回字串長度

echostrlen("1234"); //4

②strpos()函式 檢索字串 如果沒有找到則返回false("")

echo strpos("Helloworld!","world"); //6

(2)PHP 字串運算子: . 串接 .=串接賦值(就跟x+=2一樣)

遞增/遞減運算子: 和c語言一樣

PHP 比較運算子:

=== 全等(完全相同) $x=== $y 如果 $x 等於 $y,且它們型別相同,則返回 true。

!== 不全等(完全不同) $x !==$y 如果 $x 不等於 $y,或它們型別不相同,則返回 true。

PHP 邏輯運算子:

與:and &&

或:or ||

異或:xor $x xor $y 如果 $x 和 $y 有且僅有一個為 true,則返回 true。

非:!

2、整數:整數必須有至少一個數字(0~9),整數不能包含逗號火空格,整數不能有小數點,整數正負均可

可以用三種格式規定整數:十進位制、十六進位制(字首是:0x)、八進位制(字首是:0)

3、浮點數:小數 $x =2.4e3; 2400

4、邏輯:就是bool型別:true、false

5、陣列:在一個變數中儲存多個值

(1)在 PHP 中,有三種陣列型別:

1)索引陣列 - 帶有數字索引的陣列count() 函式用於返回陣列的長度(元素數):

$cars=array("Volvo","BMW","SAAB");

echo"I like " . $cars[0] . ", " . $cars[1] . " and ". $cars[2] . ".";

count($cars); //3

//遍歷陣列

$arrlength=count($cars);

for($x=0;$x<$arrlength;$x++){

echo $cars[$x];

echo "";

}

2)關聯陣列 - 帶有指定鍵的陣列

兩種建立關聯的方法:

①$age=array("Peter"=>"35","Ben"=>"37","Joe"=>"43");

$age['Peter']="35";

$age['Ben']="37";

$age['Joe']="43";

//遍歷陣列:其實和js中的foreach很像,只是在as後邊對照著""=>""這樣的結構添加了變數而已,再拿出來用就好了

$age=array("Bill"=>"35","Steve"=>"37","Peter"=>"43");

foreach($ageas $xx=>$x_values){

echo "key=" . $xx.",value=".$x_values."";

}

3)多維陣列 - 包含一個或多個數組的陣列

(2)陣列排序:陣列中的元素能夠以字母或數字順序進行升序或降序排序。(這裡的排序直接就把資料的內容就改變了)

(索引陣列)

sort() - 以升序對陣列排序

rsort() - 以降序對陣列排序

(關聯陣列)

asort() - 根據值,以升序對關聯陣列進行排序

ksort() - 根據鍵,以升序對關聯陣列進行排序

arsort() - 根據值,以降序對關聯陣列進行排序

krsort() - 根據鍵,以降序對關聯陣列進行排序

(3)陣列運算子

運算子 名稱 例子 結果

+ 聯合 $x + $y $x和$y 的聯合(但不覆蓋重複的鍵)

== 相等 $x == $y 如果 $x 和 $y 擁有相同的鍵/值對,則返回 true。

=== 全等 $x === $y 如果 $x 和 $y 擁有相同的鍵/值對,且順序相同型別相同,則返回 true。

!= 不相等 $x!= $y 如果 $x 不等於 $y,則返回 true。

<> 不相等 $x<> $y 如果 $x 不等於 $y,則返回 true。

!== 不全等 $x!== $y 如果 $x 與 $y 完全不同,則返回 true。

6、物件:物件是儲存資料和有關如何處理資料的資訊的資料型別

在php中,必須明確地生命物件。

首先必須宣告物件的類,試用class關鍵詞。類是包含屬性和方法的結構

然後再物件類中定義資料型別,然後在該類的例項中使用此資料型別

classCar

{

var $color;

function Car($color ="green"){

$this->color = $color;

}

function what_color(){

return $this->color;

}

}

functionprint_vars($obj) {

foreach (get_object_vars($obj) as $prop=> $val) {

echo " $prop = $val";

}

}

//instantiate one object

$herbie= new Car("whites");

//show herbie properties

echo"herbie: Properties";

print_vars($herbie);

7、NULL值: 特殊的 NULL 值表示變數無值。NULL 是資料型別 NULL 唯一可能的值。可以通過把值設定為 NULL,將變數清空

  二、常量:常量是單個值的識別符號(名稱)。在指令碼中無法改變該值。

有效的常量名以字元或下劃線開頭(常量名稱前面沒有 $ 符號)。

註釋:與變數不同,常量貫穿整個指令碼是自動全域性的。

如需設定常量,請使用 define() 函式 - 它使用三個引數:

首個引數定義常量的名稱

第二個引數定義常量的值

可選的第三個引數規定常量名是否對大小寫不敏感。預設是 false:大小寫敏感,true:大小寫不敏感。

define("corlor","yellor");

echocorlor; //yellor

echoCorlor; //Corlor

define("corlor","yellor",true);

echocorlor; //yellor

echoCorlor; //yellor

  三、運算子:

$x=10;

$y=6;

echo($x + $y),""; // 輸出 16

echo($x - $y),""; // 輸出 4

echo($x * $y),""; // 輸出 60

echo($x / $y),""; // 輸出 1.6666666666667

echo$x % $y,""; // 輸出 4

?>

  四、條件語句:

if(){}

if(){}else{}

if(){}elseif(){}else{} //不一樣的地方else和if可以拼接起來,分開也是可以的

switch($x)

{

case1:echo"1";break;

case2:echo"2";break;

default:echo"no";

}

  五、迴圈:

while- 只要指定條件為真,則迴圈程式碼塊

while(條件為真){

}

e- 先執行一次程式碼塊,然後只要指定條件為真則重複迴圈

do{

要執行的程式碼;

}while (條件為真);

for- 迴圈程式碼塊指定次數

for($x=0; $x<=10; $x++) {

echo "數字是:$x

";

}

foreach- 遍歷陣列中的每個元素並迴圈程式碼塊(只適用於陣列)

$colors= array("1","2","3");

foreach($colors as $value) {

echo "$value";

}

  六、函式:函式名對大小寫不敏感,所傳的引數對大小寫還是很敏感的

語法:

functionfunctionName($A,$B){

}

預設引數設定:如果不傳引數的話,就會取預設引數,但是沒有預設引數的時候,就必須傳參,否則會報錯

functionfamilyName($fname="兒子",$name="孫子") {

echo "$fname $name Zhang";

}

familyName("Li","maozi");

familyName("Li");

familyName();

?>

返回:

Li maozi Zhang

Li 孫子 Zhang

兒子 孫子 Zhang

有返回值的函式

functionsum($x,$y) {

$z=$x+$y;

return $z;

}

  七、PHP 全域性變數 - 超全域性變數

PHP 中的許多預定義變數都是“超全域性的”,這意味著它們在一個指令碼的全部作用域中都可用。在函式或方法中無需執行 global $variable; 就可以訪問它們。

這些超全域性變數是:

$GLOBALS

$_SERVER

$_REQUEST

$_POST

$_GET

$_FILES

$_ENV

$_COOKIE

$_SESSION

1、$GLOBALS— 引用全域性作用域中可用的全部變數

$GLOBALS 這種全域性變數用於在 PHP 指令碼中的任意位置訪問全域性變數(從函式或方法中均可)。

PHP 在名為 $GLOBALS[index] 的陣列中儲存了所有全域性變數。變數的名字就是陣列的鍵。

下面的例子展示瞭如何使用超級全域性變數 $GLOBALS:

$x= 75;

$y= 25;

functionaddition() {

$GLOBALS['z'] = $GLOBALS['x'] +$GLOBALS['y'];

}

addition();

echo$z;

?>

由於 z 是 $GLOBALS 陣列中的變數,因此在函式之外也可以訪問它。

$_SERVER

$_SERVER 這種超全域性變數儲存關於報頭、路徑和指令碼位置的'資訊。

下面的例子展示瞭如何使用 $_SERVER 中的某些元素:

訪問元素眾多:_

$_REQUEST 用於收集 HTML 表單提交的資料。

表單資料將傳送到

標籤的 action 屬性中指定的指令碼檔案。如果您需要使用其他的 PHP 檔案來處理表單資料,請修改為您選擇的檔名即可。然後,我們可以使用超級全域性變數 $_REQUEST 來收集 input 欄位的值

Name:

$name= $_REQUEST['fname'];

echo$name;

?>

$_POST

PHP $_POST 廣泛用於收集提交 method="post" 的 HTML 表單後的表單資料。$_POST 也常用於傳遞變數。

下面的例子展示了一個包含輸入欄位和提交按鈕的表單。當用戶點選提交按鈕來提交資料後,表單資料會發送到

標籤的 action 屬性中指定的檔案。在本例中,我們指定檔案本身來處理表單資料。如果您希望使用另一個 PHP 頁面來處理表單資料,請用更改為您選擇的檔名。然後,我們可以使用超全域性變數 $_POST 來收集輸入欄位的值:

Name:

$name= $_POST['fname'];

echo$name;

?>

$_GET

PHP $_GET 也可用於收集提交 HTML 表單 (method="get") 之後的表單資料。

$_GET 也可以收集 URL 中的傳送的資料。

測試 $GET

當用戶點選連結 "Test $GET",引數 "subject" 和 "web" 被髮送到 "test_",然後您就能夠通過 $_GET 在 "test_" 中訪問這些值了。

下面的例子是 "test_" 中的程式碼

echo"Study " . $_GET['subject'] . " at " . $_GET['web'];

?>