亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb

首頁 > 編程 > PHP > 正文

PHP基本語法的介紹

2020-03-22 20:11:13
字體:
來源:轉載
供稿:網友
這篇文章主要介紹了關于PHP基本語法的介紹,有著一定的參考價值,現在分享給大家,有需要的朋友可以參考一下

知識點:

標記符,注釋

變量

常量

數據類型

運算符

流程控制

標記符,注釋 4種標記符號:

1. 默認形式: ?php php語句 ?

如果 ?php ...? 之后沒有html代碼,則 ? 標記可以省略

2. 短標簽形式: ? php語句 ?

默認是關閉的,需要開啟配置項【php.ini】: short_open_tag=on

3. script標簽形式: script language=”php” php語句 /script

4. asp形式: % php語句 %

默認是關閉的,需要開啟配置項【php.ini】:asp_tags =on

大小寫

變量: 區分大小寫

常量: 區分大小寫, 可以在php.ini文件中配置為不區分大小寫

其他不區分大小寫: 如函數名,系統關鍵字...

注釋

單行注釋: //注釋內容 或 #注釋內容

多行注釋: /*注釋內容*/

變量 概念:

代表一定存儲空間及其中數據的一個“標識符”

賦值同時定義變量, $v1 = 1; 圖示:

命名規則

以字母或下劃線開頭 后跟任意數量(含0個)字母,數字和下劃線

常見命名:

駱駝命名法: 首單詞小寫,其后面每個單詞首字母大寫 。 如: $myName
帕斯卡命名法:每個單詞首字母大寫 。 如: $MyName
下劃線分割法:每個單詞小寫,并且之間用下劃線分開 。 如:$my_name

基本操作

取值 如 $v = 12.3; $m=round($v)

賦值 如 $v = 12.3;

判斷 isset() 判斷該變量是否存在,或該變量是否有數據值!

刪除unset():斷開該變量名跟該變量原有的數據值之間的“引用關系”

傳值形式

值傳遞: 值相等,相互獨立。 如 $v1 = 1; $v2 = $v1; 圖示:

既是將變量$v1的值進行了復制,然后再給另一變量v2賦值

引用傳遞: 實質就是2個變量指向同一個數據空間。 如 $m1 = 1; $m2 = m1; 圖示:

既將變量$m1跟其數據值之間的“引用關系”,復制一份,再給予變量$m2

可變變量

連續出現“$”的變量形式。 如: $v = a $a=10; 則 $$v = 10.

 1 ?php  2 //可變變量  3 $v1 = 123;  4 $v2 = 221;  5 $v3 = 3;  6 $v4 = 9;  7 $v5 = 100;  8 $v6 = 200;  10 //求變量的和 11 $sum = 0; //用于存儲和 12 for($i = 1; $i $i++) { 13 $v = v .$i; 14 $sum += $$v;16 echo $sum;17 ? 

點擊查看-可變變量使用

預定義變量

超全局數組,有超全局作用域,系統定義與維護 。主要有$_POST, $_GET,$_REQUEST,$_SERVER,$GLOBALS, $_COOKIE,$_SESSION ....

$_POST 通過表單以post方式(method=”post”)提交的時候所提交的所有數據 接收數據如: $name = $_POST[ name

表單提交數據注意: 對于radio和checkbox數據不填則接收不到,其他不填也會接收到

$_GET 通過get方式提交時所提交的所有數據 接收數據如: $name = $_GET[ name

有5種方式實現get提交數據

形式1: form表單get提交

如 form method= get action= index.php ...... /form

形式2: a標簽提交

如 a href=”index.php?name=young gender=male age=18” 主頁 /a

形式3: js跳轉提交1

如: script location.href=” index.php?name=young gender=male age=18”; /script

形式4:js跳轉提交

如: script location.assign=” index.php?name=young gender=male age=18”; /script

形式5: php跳轉提交

如:header(“location: index.php?name=young gender=male age=18”);

$_REQUEST 是$_GET變量和$_POST變量數據的“合集”:即,它里面同時存儲了這兩種數據 . 接收數據如: $name = $_REQUEST[ name

提交表單可以同時具有get和post數據。

如 form method= post action= index.php?name=young gender=male ..... /form

接收數據時, 如果post與get數據項名稱相同,如$_POST[ name ]= young , $_GET[ name ]= admin 。

如果使用$_REQUEST方式接收,則post數據覆蓋get數據。

可以通過配置項【php.ini】進行設置: request_order= GP G代表GET P代表POST 后者覆蓋前者

$_SERVER 代表一次瀏覽網頁的過程中的瀏覽器端的一些信息或服務器端的一些信息

常用選項:

$_SERVER[ REMOTE_ADDR ] 訪問者IP地址

$_SERVER[ SERVER_ADDR ] 服務器IP地址

$_SERVER[ SERVER_NAME ] 服務器名字 既站點配置中設置的ServerName 如: www.test.com

$_SERVER[ DOCUMENT_ROOT ] 站點物理地址。 既站點配置中設置的 DocumentRoot 如: d:/www

$_SERVER[ PHP_SELF ] 當前網頁地址,不包含域名 如 /index.php

$_SERVER[ SCRIPT_FILENAME ] 當前網頁的物理路徑 如 d:/demo/index.php

$_SERVER[ QUERY_STRING ] 獲取當前網頁地址中的所有get數據(既 ?號后面部分),但只是一個整體的字符串而已 如:id=2 name=young

$GLOBALS :存儲所有全局變量。 可以用于在局部范圍不可以使用全局變量的時候,可以用它來取得指定全局變量的值

isset() 與 empty()

isset(變量): 判斷變量是否存在,或變量是否為空(null),如果存在,返回true,否則返回false

empty(變量): 判斷變量的“內容”是否為空的,內容是空的返回true,否則返回false

為空情形: 0 0.0 “” “0” false null array()空數組

常量 概念

含義: 是其中存儲的數據不會也不應該改變的“標識符”

定義

方式1: define( 常量名 ,值); 如: define( PI ,3.14);

方式2: const 常量名=值; 如: const HOST= localhost

注意: const語法只能用在“頂層代碼”位置,而不能用在大括號的位置

取值

形式1: 直接使用常量名 如: echo PI;

形式2: 使用函數constant( 常量名 ) 如 echo constant( PI

與變量的區別

定義形式不同
使用形式不同:常量無需$符號
可變程度不同,常量的值不可以改變,常量也不可以銷毀
作用范圍不同:常量具有超全局作用域(函數內外都可以直接使用)
可用類型不同:常量只能存儲標量類型(整數,浮點數,字符串,布爾值)

判斷是否存在

defined(“常量名”) 存在返回true 不存在返回false

使用未定義常量,會有Notice警告,系統會將該 未定義常量名稱 作為 其值 使用

預定義常量

常見: 【可參考PHP手冊附錄》保留字列表》預定義常量】

M_PI: 就是圓周率的常量值
PHP_OS: 就是PHP運行所在的操作系統
PHP_VERSION: 就是PHP的版本號
PHP_INT_MAX: php中的最大的整數值

魔術常量

__FILE__ 代表當前網頁文件的網頁物理路徑
__DIR__ 代表當前網頁文件所在的目錄
__LINE__ 代表這個常量名當前所在的行號

數據類型 8種數據類型

基本數據類型(標量類型)

整型類型: int interger
浮點類型: float double 如: $v1 = 123.456E2; //含義為: 123.456乘以10的2次方

不要用浮點數進行大小比較, 如果要比較的浮點數,轉換為整數之后再比較。如 要求精度為3位小數,則都乘以1000,然后取整后比較

當整數運算的結果超出整數的范圍后,會自動轉換為浮點數
字符串類型: string
布爾類型: bool Boolean

復合類型:

數組:array

對象:object

特殊類型:

空類型 null 這種類型中,只有一個數據,那就是null
資源類型 resource

整數類型進制轉換

整數類型

0b1010(二進制), 0123(八進制), 123(十進制), 0x123(十六進制)

Bin: 二進制 oct: 八進制 dec: 十進制 hex: 16進制

手工進制轉換

10進制轉換為2進制: 除2取余倒著寫出所有余數

將一個10進制數字除以2,得到商和余數,如果商還大于等于2,則繼續除以2,繼續得到商和余數,依次類推,

直到商為0為止,然后將前面的所有余數按倒序寫出來對應的2進制數字

10進制轉換為8進制: 除8取余倒著寫出所有余數

10進制轉換為16進制:除16取余倒著寫出所有余數

8進制轉換為10進制:將8進制數字的每個位上的數乘以其對應位上的權值,然后相加之后的結果

16進制轉換為10進制:將16進制數字的每個位上的數乘以其對應位上的權值,然后相加之后的結果

2進制轉換為10進制:將2進制數字的每個位上的數乘以其對應位上的權值,然后相加之后的結果

小數二進制的做法: 乘2并順序取整數部分

十進制轉換為其他進制

decbin(一個10進制數字):結果返回的是該數字的2進制數字形式的字符串
decoct(一個10進制數字):結果返回的是該數字的8進制數字形式的字符串
dechex(一個10進制數字):結果返回的是該數字的16進制數字形式的字符串

其他進制轉換為十進制

bindec (一個2進制數字字符串):結果返回的是該2進制數字字符串對應的10進制數字形式的數字
octdec (一個8進制數字字符串):結果返回的是該8進制數字字符串對應的10進制數字形式的數字
hexdec (一個16進制數字字符串):結果返回的是該16進制數字字符串對應的10進制數字形式的數字

獲取數據類型

getType($變量): 返回的是該類型的名字 (字符串)
var_dump($變量): 會輸出該變量的類型,數據內容,(以及長度)

4種形式的字符串

形式1:單引號 $str=‘hello’; 可以識別的轉義符有: // /
形式2:雙引號 $str = hello ; 可以識別的轉義符有: // / /n(換行符) /r(回車符) /t(tab符)
形式3:雙引號定界符heredoc: 可以識別的轉義符有: // /n /r /t /$

1 $str= LAB 2 this is a “test”!,這是一個 測試 !v1=$v1;3 LAB;4 //注:結束行只能是標識符及分號

形式4:單引號定界符nowdoc:

1 $str = LAB 2 this is a test!3 LAB;
數據類型轉換

在任何運算中,如果需要某種類型的數據,而給出的數據不是該類型,通常都會發生自動轉換

自動轉換: 由“運算符”或類似運算符語句決定

算術運算,只對數值進行計算

字符串中數字的轉換規則:只識別字符串的前面數字部分 如 1+ “3a5b” =4

強制轉換:

形式: (目標類型)數據 如 (int)$a;

目標類型通常有:int,float,string,bool,array,object

轉換不改變變量本身,要改變變量本身,使用setType($var,$value);

常見的類型相關的系統函數

var_dump() 打印變量的完整信息
getType($var) 獲取變量的類型的名字(字符串)
setType($var,$type) 強制轉換變量的類型
isset() 變量是否設置
empty() 變量的值是否為空
unset() 刪除變量
is_xx系列函數: 判斷是否為某種類型
is_int($x) 判斷是否是一個整數類型
is_float() 判斷是否是一個浮點類型
is_string() 判斷是否是一個字符串類型
is_bool() 判斷是否是一個布爾類型
is_array() 判斷是否是一個數組
is_object() 判斷是否是一個對象
is_null() 判斷是否是為null
is_numeric() 是否是一個數字
is_scalar() 是否是一個標量類型(int,float,bool,string)

運算符 算術運算符

符號: + - * / % ++ --

用于對數字進行運算,如果符號兩邊是非數字,會自動轉換為數字再進行運算。

求余(%)運算,先取整在求余。 如 11.3%3 相當于 11%3。

++, -- 只能對于數字或字母。字符串也可以進行自增減。

如: $val = abc $val++; echo $val; //$val = abd

$va = abc9 $va++; echo $va; //$va= abd0

“前自增” 先對變量自加再做其他運算,“后自增”先做其他運算再對自加變量加1; 自減類似。

比較運算符

符號: = = == != === !==

不要對浮點數進行大小比較。

標量之間比較規則:

比較的數據中,有布爾值,則自動轉為布爾值載進行比較。

否則, 如果比較的數據中,有數字值,則自動轉為數字進行比較。

否則,如果比較的數據都是“數字字符串”,則自動轉為數字再進行比較

否則,按照字符串進行比較

邏輯運算符

符號: || !

邏輯運算注意短路現象。如果有多想判斷,將簡單的放在前面。

字符串運算符

符號: . .=

字符串連接, 如果兩邊不是字符串,會自動轉換為字符串進行連接

賦值運算符

= += -= *= /= %=

條件運算符(三目)

形式: 數據值1 ? 結果值1 : 結果值2;

if等價形式: if(數據值1){ 結果值1;} else {結果值2; }

如果省略“結果值1”則為其本身。 如 $res=100?:10; //結果 $res=100;

位運算符號

符號: | ~ ^

僅僅針對于整數類型進行運算

按位異或: 相同為0 不同為1. 如1^1 = 0;

安慰左移運算 : 右邊補0,左邊移出

原碼,反碼,補碼:

正數反碼:等于其本身; 負數的反碼:符號位不變,其它位取反;

正數的補碼等于其本身; 負數的補碼:符號位不變,其它位取反再加1。

數組運算符

符號: + == != === !==

對于數組 + 號 : 數組聯合, 將右邊的數組項合并到左邊的數組的后面,得到一個新的數組。如果有重復的鍵,不覆蓋,保留左邊數組的數據。

如: $arr = array(1= 11,2= 22,3= $narr = array(3= 23,4= $resArr = $arr +$narr; //結果:array(1= 11,2= 22,3= 33,4= 24)

== : 鍵名和值相等則為真,順序可以不同。

錯誤抑制運算符

符號: @

可以抑制可能產生的報錯信息。如 $conn =@ mysql_connect(....);

運算符優先級參考手冊: 語言參考》運算符》運算符優先級

流程控制 繪制流程圖

開始,結束: 用橢圓 表示

語句塊: 長方形圖形

判斷:帶指進和指出的四邊形

輸入輸出: 四邊形

分支結構

if分支結構

1 if(條件1){2 分支1; 3 } else if(條件2){4 分支2;5 } ….. else{6 //else 分支 7 }

分支結構

switch分支結構

1 switch(表達式) {2 case 值1: 分支1; 3 [break; ] //可以省略4 case 值2: 分支2; 5 [break; ] 6 …….7 Default : default 分支;9

switch結構

循環結構

1)for循環

for(【循環變量初始化】; 【循環變量的條件判斷】; 【循環變量的改變】) { // 循環體語句…….}

2) while()循環

While(【循環變量的條件判斷】){ //循環體語句……. 【循環變量的改變】 }

3) do..while()循環

do { //循環體語句……. 【循環變量的改變】 }while(【循環變量的條件判斷】)

4) foreach()循環

5) goto語句

不能跳入循環中,不能跳入函數中,不能跳出函數外,不能跳出文件外

標識符2: 語句1。。。。。goto 標識符1; //含義: 立即跳轉到標識符1所在的位置 語句。。。標識符1: 語句。。。。goto 標識符2; //含義: 立即跳轉到標識符2所在的位置
循環中斷

1)break: 完全終止某個循環,讓執行流程進入到循環語句后面的語句;
2)continue: 停止當前正在進行的當次循環,而進入到循環的“下一次”過程中去;

3)中斷“更多層”的循環; 指的是從當前中斷語句(break 或continue)算起,往代碼的“外部”數循環的個數,就是層數

break 正整數n; 如: break 1;
continue 正整數n; 如: continue 2;

for(…) { //循環1 for(..) { //循環2  for(..) { //循環3 break 2; //此時會中斷循環2; 其實只中斷“2層” //對此break語句,循環3是其“第1層”,循環2是其“第2層”,循環1是其“第3層” } continue 2; //此時會中斷循環1; 其實只中斷“2層” //對此continue語句,循環2是其“第1層”,循環1是其“第2層” }}
流程控制另外一種寫法
1 if(…): …… endif;2 if(…): …… else: …… endif;3 if(…): ……elseif(…): ……elseif(…): ……else: …… endif;4 switch(…):case …… case …… endSwitch;5 while(…): …… endwhile;6 for(…; … ; …): …… endfor;

控制腳本執行

1) die( 字符串 ); 輸出該字符串后,立即停止PHP的執行!

2) exit( 字符串 ); 輸出該字符串后,立即停止PHP的執行!

3) sleep($num); 讓程序停止運行指定的秒數。等待過了$num秒后,繼續執行。

以上就是本文的全部內容,希望對大家的學習有所幫助,更多相關內容請關注PHP !

相關推薦:

PHP的環境搭建 的方法

以上就是PHP基本語法的介紹的詳細內容,PHP教程

鄭重聲明:本文版權歸原作者所有,轉載文章僅為傳播更多信息之目的,如作者信息標記有誤,請第一時間聯系我們修改或刪除,多謝。

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb
日韩av一区二区在线| 亚洲精品动漫久久久久| 欧美色videos| 91免费视频网站| 日韩一区二区三区在线播放| 亚洲国产精品福利| 国产成人精品日本亚洲专区61| 91视频-88av| 亚洲日本中文字幕| 欧美性理论片在线观看片免费| 国产精品久久久久久久久男| 欧美日韩在线视频一区二区| 久久久久这里只有精品| 精品毛片三在线观看| 久久精品亚洲精品| 亚洲综合社区网| 欧美在线免费视频| 久久久精品在线观看| 国产精品一区二区三区久久久| 日本高清不卡的在线| 久久久女女女女999久久| 国产精品久久久久久久久粉嫩av| 国产精品黄色av| 欧美日韩国产va另类| 国产一区二区三区四区福利| 国产伦精品一区二区三区精品视频| 国产男人精品视频| 91精品一区二区| 2019中文在线观看| 日韩网站免费观看| 欧美老少做受xxxx高潮| 精品少妇v888av| 国产精品吹潮在线观看| 日韩成人在线免费观看| 精品福利在线视频| 国产成人精品免高潮费视频| 岛国av在线不卡| 欧美亚洲国产日韩2020| 国产成人久久久| 国产综合在线观看视频| 91国偷自产一区二区三区的观看方式| 亚洲人成啪啪网站| 欧美激情一区二区三区高清视频| 欧美性极品少妇精品网站| 欧美日本在线视频中文字字幕| 欧美日韩亚洲一区二| 亚洲第一国产精品| 51视频国产精品一区二区| 国产精品夜间视频香蕉| 日韩精品中文字幕久久臀| 亚洲欧美资源在线| 国产亚洲美女久久| 久久久精品国产亚洲| 91高清视频免费| 伊人久久五月天| 日韩精品免费在线播放| www.欧美精品一二三区| 亚洲色图综合网| 久久久久久久国产精品视频| www.日韩不卡电影av| 国自在线精品视频| 91精品在线播放| 亚洲综合色激情五月| 热门国产精品亚洲第一区在线| 国产性猛交xxxx免费看久久| 国产精品美女在线| 亚洲无线码在线一区观看| 欧美一区二区色| 97国产精品人人爽人人做| 欧美一区二区三区精品电影| 亚洲aaa激情| 欧美精品精品精品精品免费| 国产精品久久久久久久久免费看| 日韩精品视频免费专区在线播放| 亚洲a在线播放| 乱亲女秽乱长久久久| 欧美日韩国产精品一区二区三区四区| 黄色成人av在线| 久久久精品视频在线观看| 91亚洲精品在线| 亚洲开心激情网| 亚洲国产欧美日韩精品| 国产91精品最新在线播放| 亚洲少妇激情视频| 中文字幕欧美精品日韩中文字幕| 久久久精品美女| 日韩精品中文字幕视频在线| 国产一区二区三区免费视频| 中文字幕欧美亚洲| 欧美乱人伦中文字幕在线| 国产一区私人高清影院| 欧美激情视频网址| 亚洲视频在线看| 影音先锋欧美在线资源| 亚洲欧美变态国产另类| 奇米一区二区三区四区久久| 国产日韩综合一区二区性色av| 97超级碰碰人国产在线观看| 亚洲一区二区三区香蕉| 日本精品视频在线| 午夜精品一区二区三区在线视| 中文字幕亚洲精品| 欧美劲爆第一页| 久久久久久久久久久91| 精品亚洲夜色av98在线观看| 久久亚洲精品网站| 久久久久久久久91| 欧美激情一区二区久久久| 欧美成aaa人片免费看| 人人爽久久涩噜噜噜网站| 国产精品久久久久久久午夜| 久久久97精品| 成人久久久久久| 51色欧美片视频在线观看| xxxxx成人.com| 久久不射电影网| 国产精品电影久久久久电影网| 亚洲精品成a人在线观看| 国产区精品视频| 日韩欧美999| 欧美xxxx18国产| 亚洲热线99精品视频| 亚洲第一区第二区| 欧美有码在线观看视频| 欧美激情在线观看| 欧美日韩视频在线| 国产成人自拍视频在线观看| 国产69精品久久久久久| 精品亚洲一区二区三区四区五区| 亚洲精品免费av| 亚洲毛片在线看| 亚洲成色999久久网站| 国产va免费精品高清在线观看| 亚洲精品国产精品乱码不99按摩| 精品中文字幕在线2019| 欧美日韩一区二区三区在线免费观看| 欧美一级片久久久久久久| 久久精品影视伊人网| 蜜臀久久99精品久久久无需会员| 91wwwcom在线观看| 日本在线观看天堂男亚洲| 中文字幕在线观看日韩| 欧美xxxx18国产| 国产一区二区三区久久精品| 欧美日韩国产区| 日韩国产中文字幕| 欧美另类暴力丝袜| 成人日韩在线电影| 欧美国产日本高清在线| 深夜成人在线观看| 亚洲日韩中文字幕在线播放| 在线视频日韩精品| 日韩av在线资源| 欧美成人精品一区| 欧美日韩亚洲成人| 欧美亚洲国产精品| 日韩国产在线看| 欧美多人乱p欧美4p久久| 日韩视频免费在线观看| 久久香蕉精品香蕉| 久久午夜a级毛片| 欧美精品在线免费观看| 欧美在线视频a| 久久综合色88|