導語: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'];
?>