《PHP入門-PHP基本語法(一)》要點:
本文介紹了PHP入門-PHP基本語法(一),希望對您有用。如果有疑問,可以聯(lián)系我們。
php可以做什么
認(rèn)識PHP代碼標(biāo)識
使用不同的四對標(biāo)記
指令分隔符
程序注釋
變量
什么是變量
如何定義變量
變量名的命名規(guī)則
4.1 PHP標(biāo)量類型—整型
4.2 標(biāo)量類型—浮點型
4.3 PHP標(biāo)量類型—字符串
4.4標(biāo)量類型—布爾類型
4.5第一種特殊類型—資源
4.6PHP第二種特殊類型—空類型
4.7第一種復(fù)合類型—數(shù)組
4.8第二種復(fù)合類型—對象
超全局變量
empty()函數(shù)
isset()函數(shù)
常量
系統(tǒng)常量
內(nèi)置常量
php是一種可以在服務(wù)器端運行的編程語言,可以運行在Web服務(wù)器端.
php是一門后臺編程語言,是目前比較主流的后臺編程語言.
認(rèn)識一下PHP及其功能.
運行在服務(wù)器端:學(xué)會了PHP,就可以指揮服務(wù)器給你干活,甚至是搞破壞^_^(千萬不能真這么做咯),WEB網(wǎng)站的大部分?jǐn)?shù)據(jù)都是存儲在服務(wù)器端的,PHP就是用來處理這些存儲在服務(wù)器的數(shù)據(jù)的(功能強大吧).
跨平臺:服務(wù)器可以是多種平臺的服務(wù)器,比如Linux、Windows、Unix,你都可以指揮(不用怕只能指揮一種服務(wù)器啦吧).
腳本語言:它是通過編寫腳本,也就是一行行的計算機指令(也可以理解為特定的英文單詞),來指揮服務(wù)器來工作的,因此,在編寫PHP的過程其實就是與老外(服務(wù)器成老外啦)交流的過程,交流的語言就是PHP.
免費:免費使用(天下還真有免費的午餐).
想在頁面中編寫PHP代碼非常容易,如下面代碼:
<?php
就像你可以編寫JavaScript腳本語言需要寫在<script></script>
標(biāo)簽之間一樣,你可以在頁面中編寫PHP代碼寫在??<?php ?>
標(biāo)簽之間,但注意后面的?>
是可以省略的.
文件后綴名為.php結(jié)尾,上傳到Web服務(wù)器的文檔根目錄下,通過瀏覽器拜訪Web服務(wù)器管理下的PHP文件,就可以運行PHP文件.
以<?php
開始和以?>
結(jié)束標(biāo)記是標(biāo)準(zhǔn)風(fēng)格,這是PHP推薦使用的標(biāo)記風(fēng)格.
以<script language="php">
開始和<script>
結(jié)束是長風(fēng)格標(biāo)記,這種標(biāo)記最長,總是可用的,但我們并不常用.
以<?
開始和以?>
結(jié)束標(biāo)記是簡短風(fēng)格的標(biāo)記,是最簡單的,但是系統(tǒng)管理員偶爾會禁用掉它,因為它會干擾XML文檔的聲明.只用通過php.ini配置文件中的指令short_open_tag打開后就可以使用.
以<%
開始和以%>
結(jié)束標(biāo)記是ASP風(fēng)格的標(biāo)記,可以在php.ini配置文件設(shè)定中啟用了asp_tags選項就可以使用它(默認(rèn)是禁用的),習(xí)慣了ASP風(fēng)格的可以使用它.
PHP同C或Perl以及Java一樣,語句分為兩種:
一種是在程序中使用結(jié)構(gòu)定義語句例如流程控制、函數(shù)與類的定義等,是用大括號來標(biāo)記代碼塊,在大括號后面不要用分號.
另一種是在程序中使用功能執(zhí)行語句,如變量的聲明、內(nèi)容的輸出、函數(shù)的調(diào)用等,是用來在程序中執(zhí)行某些特定功能的語句,這種語句也可稱為指令,PHP需要在每個指令后用分號;
結(jié)束.
和其他語言不一樣的是,在PHP中右括號?>
前的分號不是必選的
> 每個語句結(jié)束之后忘記加分號可是會報語法錯誤的哦~
對于閱讀代碼的人來說,注釋其實就相當(dāng)于代碼的解釋和說明.注釋可以用來解釋腳本的用途、腳本編寫人、為什么要按如此的辦法編寫代碼、上一次修改的時間等等.
PHP支持C、C++和Shell腳本風(fēng)格的注釋,如下:
單行注釋 //
$a = 3 //申明一個變量 這是單行注釋
多行注釋 (注意:不能嵌套)/**/
/* 多行注釋內(nèi)容
腳本注釋 #
#這是一種腳本注釋辦法
程序員在編程時使用注釋是一種良好的習(xí)慣,可以用來寫幫助文檔,有助于調(diào)試程序.
注意: 注釋要寫在代碼的上面或是右邊
什么是變量
變量是用于存儲值的,我們命令服務(wù)器去干活的時候,往往需要產(chǎn)生一些數(shù)據(jù),需要臨時性存放起來,方便取用.我們也可以理解為,變量就像一個購物袋,我們可以用來裝蘋果、榴蓮(當(dāng)然也可以用來裝玫瑰),需要注意的是,一般情況下一個變量只能裝一個(不要太貪心)值,除非是復(fù)合變量(后面變量類型時會介紹),當(dāng)我們放進(jìn)去一個蘋果后,再放進(jìn)榴蓮的時候,蘋果就被替換掉,再放入香蕉,那么榴蓮就被替換了.
如何定義變量
定義變量就是向服務(wù)器的內(nèi)存申請空間,用來存儲數(shù)據(jù).這時候我們就需要用到變量名和變量值.
<?php$n = 10;
解釋一下,在=
左邊的是變量名,右邊的是變量值.完成定義變量后,需要一個;
告訴服務(wù)器這行指令已經(jīng)結(jié)束.其中變量名必須通過$
符號標(biāo)識,=
可不是我們平常所說的等號哦,在PHP中,=
是賦值運算符;在這里,var_name
是變量名,蘋果
是變量值,它是一個字符串;n
是變量名,10
是變量值,它是一個整型.
變量名的命名規(guī)則
變量名除了需要$
進(jìn)行標(biāo)識外,還有一些規(guī)則需要遵守.變量名的命名規(guī)則主要有三條:
①變量名必須以字母或下劃線"-“開頭,數(shù)字不能開頭.如”$_name","$name" ,"$name2"等
②變量名只能由字母、數(shù)字以及下劃線
組成,還能包含漢字.如$_qq
$qq308
$my_apple
$name我等
但是$name*
是不對的.
③變量名不允許包含空格.當(dāng)變量名由多個單詞組成,建議使用下劃線”-“進(jìn)分隔比如 $my_apple
,俗稱下劃線法,或者以大寫字母開頭比如 $myApple
,俗稱駱駝式命名法(也稱駝峰命名法).
特別需要注意的是,在PHP中變量名是區(qū)分大小寫的,如$my_book
與$my_Book
代表兩個不同的變量.
變量的數(shù)據(jù)類型
數(shù)據(jù)類型: PHP 支持八種原始類型.
四種常量類型:
在變量中,由于變量占用的空間單元不一樣(占的地盤大小不一樣),也分成幾種數(shù)據(jù)類型.
我們可以通過使用memory_get_usage
獲取當(dāng)前PHP消耗的內(nèi)存.
可以對比一下內(nèi)存消耗
<?phpecho $m1 = memory_get_usage(); //初始化消耗內(nèi)存echo "<br/>";
gettype() 返回變量的類型,共有8個可能的值string、integer、float、boolean、array、object、null、unknown
is_type() 查看變量是否屬于某個類型,如果是,返回TRUE,否則,返回FALSE
$arr = array(1);echo is_array($arr);
is_array – 檢測變量是否是數(shù)組
is_bool – 檢測變量是否是布爾型
is_callable – 檢測參數(shù)是否為合法的可調(diào)用結(jié)構(gòu)
is_double – is_float() 的別名
is_float – 檢測變量是否是浮點型
is_int – 檢測變量是否是整數(shù)
is_integer – is_int() 的別名
is_long –is_int() 的別名
is_null – 檢測變量是否為 NULL
is_numeric – 檢測變量是否為數(shù)字或數(shù)字字符串
is_object – 檢測變量是否是一個對象
is_real – is_float() 的別名
is_resource – 檢測變量是否為資源類型
is_scalar – 檢測變量是否是一個標(biāo)量
is_string – 檢測變量是否是字符串
var_dump() 獲取變量的值和類型的詳細(xì)信息
$str = ‘hello’;var_dump($str);$arr = array(‘A’, ‘B’, ‘C’);var_dump($arr);
在php中,支持8種原始類型,其中包括四種標(biāo)量類型、兩種復(fù)合類型和兩種特殊類型.php是一門松散類型的語言,不必向php聲明變量的數(shù)據(jù)類型.php會自動把變量轉(zhuǎn)換為自動的數(shù)據(jù)類型.
<?php$string="就是就是"; //定義一個字符串"就是就是"var_dump($string); echo "<br/>";
輸出結(jié)果:string(12) “就是就是” int(9494)
我們可以發(fā)現(xiàn), 這個變量自動就從原來的字符串轉(zhuǎn)換成了整型咯.
4.1 PHP標(biāo)量類型—整型
整型(integer):類似于常見的整數(shù).它可以用十進(jìn)制、八進(jìn)制、十六進(jìn)制指定.十進(jìn)制就是日常使用的數(shù)字;八進(jìn)制,數(shù)字前必須加上"0"(阿拉伯?dāng)?shù)字0);十六進(jìn)制,數(shù)字前必須加"0x"(阿拉伯?dāng)?shù)字0).如:
<?php$data_int = 1234; // 十進(jìn)制數(shù)$data_int = -567; // 一個負(fù)數(shù)$data_int = 0123; // 八進(jìn)制數(shù)(等于十進(jìn)制的 83)$data_int = 0x1a; // 十六進(jìn)制數(shù)(等于十進(jìn)制的 26)?>
4.2 標(biāo)量類型—浮點型
浮點型(浮點數(shù)、雙精度數(shù)或?qū)崝?shù)),也就是通常說的小數(shù),可以用小數(shù)點或者科學(xué)計數(shù)法表示.科學(xué)計數(shù)法可以使用小寫的e,也可以使用大寫的E.
<?phpecho $num_float1 = 1.234; //小數(shù)點,輸出結(jié)果1.234echo $num_float2 = 1.2e3; //科學(xué)計數(shù)法,小寫e,輸出結(jié)果1200echo $num_float3 = 7.0E-3; //科學(xué)計數(shù)法,大寫E,輸出結(jié)果0.007?>
4.3 PHP標(biāo)量類型—字符串
字符串是由一系列字符組成,在PHP中,字符和字節(jié)一樣,也就是說,一共有256種不同字符的可能性.
字符串型可以用三種辦法定義:單引號形式、雙引號形式和Heredoc結(jié)構(gòu)形式.
<?php$str_string1='我是字符串1';
當(dāng)你的字符串中包含引號的時候,我們怎么辦?
<?php$str_string1 = '甲問:"你在哪里學(xué)的PHP?"'; //單引號中嵌入雙引號$str_string2 = "乙毫不猶豫地回答:'你猜!'"; //雙引號中嵌入單引號$str_string3 = '甲問:\'能告訴我網(wǎng)址嗎?\''; //單引號中嵌入單引號,使用轉(zhuǎn)義符"\"$str_string4 = "乙答道:\"www.你猜.com\""; //雙引號中嵌入雙引號,使用轉(zhuǎn)義符"\"echo $str_string1;echo $str_string2;echo $str_string3;echo $str_string4;?>
**當(dāng)引號遇到美元咋辦?**這里的美元可不是真正的美元,而是用美元符號標(biāo)識的變量.
字符串轉(zhuǎn)義
\n 換行
\r 回車
\t 水平制表符,tab鍵
\ 反斜杠
$ 美元符
" 雙引號
當(dāng)雙引號中包含變量時,變量會與雙引號中的內(nèi)容連接在一起;雙引號可以解析變量,如果想明確的指定名字的結(jié)束,可以用花括號{ }
把變量名括起來.echo "He drank some {$beer}s";
當(dāng)單引號中包含變量時,變量會被當(dāng)做字符串輸出.
<?php$love = "I love you!";
當(dāng)我的字符串很長怎么辦?
我們可以使用Heredoc結(jié)構(gòu)形式(定界符)的辦法來解決該問題,首先使用定界符表示字符串(<<<
),接著在"<<<"之后提供一個標(biāo)識符GOD
,然后是字符串,最后以提供的這個標(biāo)識符結(jié)束字符串.
<?php$string1=<<<GOD
在賦值符號后,輸入定界符"<<<",接著是標(biāo)識符,你可以用你的女神作為標(biāo)識符"GOD",如第2行,也可以使用你喜歡的狗狗,“DOG"作為標(biāo)識符,但是,結(jié)尾處的標(biāo)識符也必須是一樣的.此外,在結(jié)尾的一行,如第7行,一定要另起一行,并且此行除了"GOD”,并以";"號結(jié)束之外,不能有任何其他字符,前后都不能有,包括空格,否則會出現(xiàn)錯誤的哦.切記切記哦.
定界符也可以解析變量,如果想明確的指定名字的結(jié)束,可以用花括號{ }
把變量名括起來.
4.4標(biāo)量類型—布爾類型
布爾類型(boolean):只有兩個值,一個是TRUE,另一個是FALSE,可以理解為是或否.它不區(qū)分大小寫.主要用在條件結(jié)構(gòu)中.需要注意的是,當(dāng)我們用echo指令輸出布爾類型時,如果是true則輸出的是1,false則什么也不輸出.我們可以使用var_dump函數(shù),獲取它真正的數(shù)據(jù)類型.
> 當(dāng)其他類型轉(zhuǎn)換為 boolean類型 時,以下值被認(rèn)為是FALSE:
布爾值 FALSE
整型值 0(零)
浮點型值 0.0(零)
空白字符串和字符串"0"
沒有成員變量的數(shù)組
沒有單元的對象(僅適用于 PHP 4)
特殊類型 NULL(包括尚未設(shè)定的變量)
所有其它值都被認(rèn)為是 TRUE(包括任何資源).
4.5第一種特殊類型—資源
資源(resource):資源是由專門的函數(shù)來建立和使用的,例如打開文件、數(shù)據(jù)連接、圖形畫布.我們可以對資源進(jìn)行操作(創(chuàng)建、使用和釋放).任何資源,在不需要的時候應(yīng)該被及時釋放.如果我們忘記了釋放資源,系統(tǒng)自動啟用垃圾回收機制,在頁面執(zhí)行完畢之后回收資源,以避免內(nèi)存被消耗殆盡.
<?php$file=fopen("f.txt","r"); //打開文件$con=mysql_connect("localhost","root","root"); //連接數(shù)據(jù)庫$img=imagecreate(100,100);//圖形畫布?>
4.6PHP第二種特殊類型—空類型
NULL(NULL):NULL是空類型,對大小寫不敏感,NULL類型只有一個取值,表示一個變量沒有值,當(dāng)被賦值為NULL,或者尚未被賦值,或者被unset(),這三種情況下變量被認(rèn)為為NULL.
<?phperror_reporting(0); //禁止顯示PHP警告提示$var; //為變量未賦值var_dump($var); //NULL$var1=null; //將null賦值給變量$var1var_dump($var1); //NULL$var2=NULL; //將NULL賦值給變量$var2var_dump( $var2); //NULL$var3 = "節(jié)日快樂!";unset($var3); //將變量$var3注銷定義var_dump($var3); //NULL?>
4.7第一種復(fù)合類型—數(shù)組
PHP 中的數(shù)組實際上是一個有序圖.圖是一種把 values 映射到 keys 的類型.此類型在很多方面做了優(yōu)化,因此可以把它當(dāng)成真正的數(shù)組來使用,或列表(矢量),散列表(是圖的一種實現(xiàn)),字典,集合,棧,隊列以及更多可能性.因為可以用另一個 PHP 數(shù)組作為值,也可以很容易地模擬樹.本書將用一章介紹數(shù)組的聲明與使用,這里僅作簡要說明.
PHP中可以使用多種方式構(gòu)建一個數(shù)組,在這里我們只用array()語言結(jié)構(gòu)來新建一個array.它接受一定數(shù)量用逗號分隔的 key => value 參數(shù)對.
語法結(jié)構(gòu): array( [key =>] value , ... )// key 可以是integer或者string類型// value 可以是任何值 <?php
4.8第二種復(fù)合類型—對象
在PHP中,對象和數(shù)組一樣都是一種復(fù)合數(shù)據(jù)類型.但對象是一種更高級的數(shù)據(jù)類型.一個對象類型的變量,是由一組屬性值和一組辦法構(gòu)成,其中屬性表明對象的一種狀態(tài),辦法通常用來表明對象的功能.本書將用一章的內(nèi)容來介紹對象的使用,這里僅作簡要的說明.要初始化一個對象,用 new 語句將對象實例到一個變量中.
<?php
php提供了很多預(yù)定義的變量,用于提供大量與環(huán)境有關(guān)的信息.
$_SERVER 服務(wù)器變量,該全局變量包含著服務(wù)器和客戶端配置及當(dāng)前哀求環(huán)境的有關(guān)信息.
print_r ($_SERVER)
$_SERVER['SERVER_NAME']
:當(dāng)前運行腳本所在的服務(wù)器的主機名
$_SERVER['REMOTE_ADDR']
:客戶端IP地址
$_SERVER['REQUEST_URI']
:URL的路徑部分
$_SERVER['HTTP_USER_AGENT']
:操作系統(tǒng)和瀏覽器的有關(guān)信息
$_GET 該變量包含使用GET辦法傳遞的有關(guān)信息
$_POST 該變量包含使用POST辦法傳遞的參數(shù)的有關(guān)信息.
$_REQUEST 該變量記錄著通過各種輸入方法傳遞給腳本的變量,如GET、POST,但不要用這個超級全局變量,因為它不平安而且速度比較慢.
$_COOKIE cookie變量數(shù)組
$_SESSION 會話變量數(shù)組
$_FILES 與上傳文件有關(guān)的變量數(shù)組
$_ENV 環(huán)境變量數(shù)組
$GLOBALS 所有全局變量數(shù)組
empty()
函數(shù)是用來測試變量是否已經(jīng)配置,判斷值為否為空.
> 若變量已存在、非空字符串或者非零,則返回 false 值;反之返回 true值.所以,當(dāng)字符串的值為0時,也返回true,就是執(zhí)行empty內(nèi)部的語句.這就是陷阱.0為空.
如: 假設(shè) $value = 0;
則empty($value)=false
isset()
函數(shù) 一般用來檢測變量是否設(shè)置.若變量不存在則返回 FALSE.
****若變量存在且其值為NULL,也返回 FALSE.若變量存在且值不為NULL,則返回 TURE.
簡單來說就是,有值返回true,沒有值返回false,0不是空,0也是表示有值
使用 unset() 釋放變量之后,它將不再是 isset().
PHP函數(shù)isset()只能用于變量,傳遞任何其它參數(shù)都將造成解析錯誤.
什么是常量?
常量可以理解為值不變的量(如圓周率).或者是常量值被定義后,在腳本的其他任何地方都不可以被改變.php中的常量分為自定義常量和系統(tǒng)常量.
自定義常量是根據(jù)我們開發(fā)的需要,而定義的常量,它通過使用PHP中的函數(shù)define()
定義.
define()函數(shù)的語法格式為:
bool define(string $constant_name, mixed $value[, $case_sensitive = true])
它有3個參數(shù):
第一個參數(shù)"constant_name"為必選參數(shù),常量名稱,即標(biāo)志符,常量的命名規(guī)則與變量的一致,但是要注意哦,它可不帶美元符號哦.
第二個參數(shù)"value"為必選參數(shù),它是常量的值.
第三個參數(shù)"case_sensitive"為可選參數(shù),指定是否大小寫敏感,設(shè)定為true表示不敏感,一般不指定第三個參數(shù)的情況下,默認(rèn)第三個參數(shù)的值為false.
> (注: string表示參數(shù)類型為字符串類型,mixed表示參數(shù)類型可以接受為多種不同的類型,case_sensitive = true表示默認(rèn)為布爾類型TRUE)
(通常常量都全用大寫)
//舉個栗子,將圓周率定義為常量"PI"<?php$p = "PII";
常量的作用
常量主要功效是可以避免重復(fù)定義,篡改變量值.在我們進(jìn)行團(tuán)隊開發(fā)時,或者代碼量很大的時候,對于一些第一次定義后不改變的量,如果我們使用變量,在不知情的情況下,使用同一變量名時,變量值就會被替換掉,從而會引發(fā)服務(wù)器執(zhí)行錯誤的任務(wù).
此外,使用常量還能提高代碼的可維護(hù)性.如果由于某些原因,常量的值需要變更時候,我們只需要修改一個地方.例如在做計算中,起初我們?nèi)A周率為3.14,于是很多計算中我們都使用3.14進(jìn)行計算,當(dāng)要求計算精度提高,圓周率需要取3.142的時候,我們不得不修改所有使用3.14的代碼,倘若代碼量比較多時,不僅工作量大,還可能遺漏.
<?phpdefine("PI",3.14);
系統(tǒng)常量是php已經(jīng)定義好的常量,我們可以直接拿來使用,常見的系統(tǒng)常量有:
__FILE__
:php程序文件名.它可以幫助我們獲取當(dāng)前文件在服務(wù)器的物理位置.
__LINE__
:PHP程序文件行數(shù).它可以告訴我們,當(dāng)前代碼在第幾行.
PHP_VERSION
:當(dāng)前解析器的版本號.它可以告訴我們當(dāng)前PHP解析器的版本號,我們可以提前知道我們的PHP代碼是否可被該PHP解析器解析.
PHP_OS
:執(zhí)行當(dāng)前PHP版本的操作系統(tǒng)名稱.它可以告訴我們服務(wù)器所用的操作系統(tǒng)名稱,我們可以根據(jù)該操作系統(tǒng)優(yōu)化我們的代碼.
<?phpecho _FILE_;echo _LINE_;echo PHP_VERSION;echo PHP_OS;?>
常量如何取值
獲取常量值的有兩種辦法取值.第一種是使用常量名直接獲取值;例如計算圓周率的面積,如下("*"是運算符,相當(dāng)于乘號,后面部分的小節(jié)會介紹):
<?phpdefine("PI",3.14);
第二種是使用constant()函數(shù).它和直接使用常量名輸出的效果是一樣的,但函數(shù)可以動態(tài)的輸出不同的常量,在使用上要靈活、方便,其語法格式如下:
mixed constant(string constant_name)
第一個參數(shù)constant_name為要獲取常量的名稱,也可為存儲常量名的變量.如果成功則返回常量的值,失敗則提示錯誤信息常量沒有被定義.(注:mixed表示函數(shù)返回值類型為多種不同的類型,string表示參數(shù)類型為字符串類型)
//舉個栗子:
<?php$p="";//定義圓周率的兩種取值define("PI1",3.14);
如何判斷常量是否被定義
如果常量被重復(fù)定義以后,PHP解析器會發(fā)出"Constant XXX already defined
"的警告,提醒我們該常量已經(jīng)被定義過.那么,在團(tuán)隊開發(fā),或代碼量很大的情況下,我們?nèi)绾稳ヅ卸ㄒ粋€常量是否被定義呢?
defined()
函數(shù)可以幫助我們判斷一個常量是否已經(jīng)定義,其語法格式為:
bool defined(string constants_name)
它只有參數(shù)constant_name,指的是要獲取常量的名稱,若存在則返回布爾類型true,否則返回布爾類型false; (注:bool表示函數(shù)返回值類型為布爾類型)
<?php
PHP_OS php所在操作系統(tǒng)的名稱
PHP_VERSION 當(dāng)前的php的版本號
魔術(shù)常量(下面都是兩個下劃線額)
__LINE__ 文件中的當(dāng)前行號
__FILE__ 文件的完整路徑和文件名
__FUNCTION__ 函數(shù)名稱
__CLASS__ 類的名稱
__METHOD__ 類的辦法名
維易PHP培訓(xùn)學(xué)院每天發(fā)布《PHP入門-PHP基本語法(一)》等實戰(zhàn)技能,PHP、MYSQL、LINUX、APP、JS,CSS全面培養(yǎng)人才。
轉(zhuǎn)載請注明本頁網(wǎng)址:
http://www.snjht.com/jiaocheng/6902.html