1 .php標(biāo)記
常用類型1
<?php
echo "hello world!"
?>
常用類型2
<script language = "php">
echo "hello world";
</script>
不常用類型1(需修改php.ini的配置文件)
<? echo"hello php"; ?>
不常用類型2(需修改php.ini的配置文件)
<% echo "hello php"; %> //asp風(fēng)格
2 . php注釋
1 . 多行注釋
/*
注釋的內(nèi)容
*/
2 . 單行注釋
//被注釋的內(nèi)容
3 . 文檔注釋
/※ ※
※被注釋的內(nèi)容
※被注釋的內(nèi)容※/
3 . 變量的聲明
1 . 變量以$開頭,后面跟變量名 ;
2 . 變量字母,數(shù)字,下劃線組成,不能以數(shù)字開頭;
3 . 變量名區(qū)分大小寫 ;
4 . php與JavaScript類似是弱類型語言,不需要實(shí)現(xiàn)聲明
變量的數(shù)據(jù)類型;
5 . php可以不顯示的聲明變量而直接使用;
4 . 變量的賦值
1 . 值賦值;即將賦值表達(dá)式的值賦值給變量(直接賦值);
2 . 引用賦值:php4引用了引用賦值,創(chuàng)建的一個(gè)變量與另
一個(gè)變量引起的內(nèi)容相同;
例: $var_1 = "hello"; $var_2 = &$var_1;
//把變量 var_1的內(nèi)存地址賦值給var_1,即引用賦值
5 . 變量的變量
$var_1 = "hello";
$$var_1 = "world";
echo $var_1;//hello;
echo $hello; //world;
echo ${$var_1} //world;
// 函數(shù)內(nèi)部修改函數(shù)外部變量的值// 如果需要函數(shù)內(nèi)修改函數(shù)外部變量粒褒,參數(shù)前面需要添加 & 符號(hào)状勤,進(jìn)行取址操作
function test(&$a) {
$a *= 10;
}
$b = 10;
test($b);
echo "<hr>b = " . $b;
6 . 超全局變量
1.php提供了很多有用的預(yù)定的變量,用于提供大量與環(huán)境相關(guān)的信息
2.打印/輸出超全局變量:print_r($_SERVER)
(1). $_SEVER服務(wù)器變量,該全局變量包含著服務(wù)器和客戶端配置及當(dāng)前相關(guān)信息;
$_SERVER['REMOTE_ADDR'] #正在瀏覽當(dāng)前頁面用戶
的 IP 地址。
$_SERVER['REMOTE_HOST'] #正在瀏覽當(dāng) 前頁面用
的[主機(jī)名].
$_SERVER['REQUEST_URI'] #訪問此頁面所需的 URI辱姨。
例如,“/index.html”吉嚣。
$_SERVER['[HTTP_REFERER] #鏈接到當(dāng)前頁面的前一
頁面的 URL 地址棠众。
$_SERVER['[HTTP_USER_AGENT]
#當(dāng)前請(qǐng)求的 User-Agent: 頭部的內(nèi)容。
(3). $GET該變量包含使用POST方法傳遞的參數(shù)的有關(guān)信息
print_r($_POST); $id = $_POST['id'];
(4) . $_REQUEST該變量記錄著通過各種輸入方法傳遞給腳本的變量,如POST,GET 但速度慢且不安全
(5) . $_COOKIE cookie 變量數(shù)組
(6) . $_SESSION 會(huì)話變量數(shù)組
(7) . $_FILES 與傳文件有關(guān)的變量數(shù)組
(8) . $_ENV 環(huán)境變量數(shù)組
(9) . $_GLOBALS 所有全局變量
7 . 常量
常量類似變量洒琢,但是常量一旦被定義就無法更改或撤銷定義。常量是單個(gè)值的標(biāo)識(shí)符(名稱)褐桌。在腳本中無法改變?cè)撝邓ヒ帧S行У某A棵宰址蛳聞澗€開頭(常量名稱前面沒有 $ 符號(hào))。注釋:與變量不同撩嚼,常量貫穿整個(gè)腳本是自動(dòng)全局的停士。
如需設(shè)置常量挖帘,請(qǐng)使用 define() 函數(shù) - 它使用三個(gè)參數(shù):首個(gè)參數(shù)定義常量的名稱第二個(gè)參數(shù)定義常量的值可選的第三個(gè)參數(shù)規(guī)定常量名是否對(duì)大小寫敏感完丽。默認(rèn)是 false。
<?php
define("PI", "3.14");
echo PI;
?>
(1) 內(nèi)置常量
PHP_OS //php所有操作系統(tǒng)的名稱PHP_VERAION
//當(dāng)前php的版本號(hào)
(2) . 魔術(shù)常量
|LINE|文件中的當(dāng)前行號(hào)拇舀。|
|-----||---|
|FILE|文件的完整路徑和文件名逻族。如果用在被包含文件中,則返回被包含的文件名骄崩。自 PHP 4.0.2 起聘鳞,FILE 總是包含一個(gè)絕對(duì)路徑(如果是符號(hào)連接薄辅,則是解析后的絕對(duì)路徑),而在此之前的版本有時(shí)會(huì)包含一個(gè)相對(duì)路徑抠璃。|
|DIR|文件所在的目錄站楚。如果用在被包括文件中,則返回被包括的文件所在的目錄搏嗡。它等價(jià)于 dirname(FILE)窿春。除非是根目錄,否則目錄中名不包括末尾的斜杠采盒。(PHP 5.3.0中新增|
|FUNCTION|函數(shù)名稱(PHP 4.3.0 新加)旧乞。自 PHP 5 起本常量返回該函數(shù)被定義時(shí)的名字(區(qū)分大小寫)。在 PHP 4 中該值總是小寫字母的磅氨。|
|CLASS|類的名稱(PHP 4.3.0 新加)尺栖。自 PHP 5 起本常量返回該類被定義時(shí)的名字(區(qū)分大小寫)。在 PHP 4 中該值總是小寫字母的烦租。類名包括其被聲明的作用區(qū)域(例如 Foo\Bar)延赌。注意自 PHP 5.4 起 CLASS 對(duì) trait 也起作用。當(dāng)用在 trait 方法中時(shí)叉橱,CLASS 是調(diào)用 trait 方法的類的名字皮胡。|
|TRAIT|Trait 的名字(PHP 5.4.0 新加)。自 PHP 5.4 起此常量返回 trait 被定義時(shí)的名字(區(qū)分大小寫)赏迟。Trait 名包括其被聲明的作用區(qū)域(例如 Foo\Bar).|
|METHOD|類的方法名(PHP 5.0.0 新加)屡贺。返回該方法被定義時(shí)的名字(區(qū)分大小寫)。|
|NAMESPACE|當(dāng)前命名空間的名稱(區(qū)分大小寫)锌杀。此常量是在編譯時(shí)定義的(PHP 5.3.0 新增)|
8.數(shù)據(jù)類型
一. 標(biāo)準(zhǔn)數(shù)據(jù)類型
1 . 字符串
字符串有三種定方式:單引號(hào),雙引號(hào),定界符
(heredoc); 單引號(hào)字符串中出現(xiàn)的變量不會(huì)被變量的
值替代
雙引號(hào)字符串中最重要的一點(diǎn)是其中的變量會(huì)
被變量值替代
如果遇到美元符號(hào)($),解析器會(huì)盡可能
多地取得后面的字符以組成一個(gè)合法的變量名, 如果
想明確的制定名字的結(jié)束,用花括號(hào){}把變量名括起來
1.PHP定界符的作用就是按照原樣甩栈,包括換行格式什
么的,輸出在其內(nèi)部的東西糕再; 2.在PHP定界符中的任
何特殊字符都不需要轉(zhuǎn)義量没;3.PHP定界符中的PHP變
量會(huì)被正常的用其值來替換。 **PHP中的定界符格式
是這樣的:**
<<<Eof……Eof;報(bào)錯(cuò)的原因:**不僅EOF;前邊不能有
空格突想,而且echo<<<EOF后面也不能有空格殴蹄。**
字符串轉(zhuǎn)義
\n換行
\r回車
\t水平制表符(tab鍵)
\\ \反斜杠
\$ $美元符
\" " 雙引號(hào)
2 . 整型(integer)
$age = 25
3 . 浮點(diǎn)型
(float,double)$num = 5.34
4 . 布爾型(bool)
$bo = TRUE;$bo = FALSE;
二,復(fù)合數(shù)據(jù)類型
數(shù)組
`$week = array('星期1','星期二','星期三');
2 . 對(duì)象
$db = new db;
三,特殊數(shù)據(jù)類型
資源
$fh = fopen("text.txt","r");
2.null;
null 無,表示沒有值;
沒有設(shè)置為任何預(yù)定義的變量;
明確的賦值為null;
使用函數(shù)unset()清除;
四.自動(dòng)類型轉(zhuǎn)換
PHP 的自動(dòng)類型轉(zhuǎn)換的一個(gè)例子是加號(hào)“+”。
如果任何一個(gè)操作數(shù)是浮點(diǎn)數(shù)猾担,則所有的操作數(shù)都被
當(dāng)成浮點(diǎn)數(shù)袭灯,
結(jié)果也是浮點(diǎn)數(shù)。否則操作數(shù)會(huì)被解釋為整數(shù)绑嘹,結(jié)果
也是整數(shù)稽荧。
注意這并沒有改變這些操作數(shù)本身的類型;
改變的僅是這些操作數(shù)如何被求值以及表達(dá)式本身的類型工腋。
五,類型相關(guān)函數(shù)
1.gettype()返回變量類型,共有8個(gè)可能的值
string, integer,float,boolean,array,object,null,unknow
2 . is_ytpe()查看變量是否是某個(gè)類型,是則返回true,否返回false
3 . var_dump() 獲取變量的值和類型的詳細(xì)信息;
函數(shù)作用是判斷一個(gè)變量的類型與長(zhǎng)度,并輸出變量的數(shù)值,如果變量有值輸?shù)氖亲兞康闹挡⒒胤禂?shù)據(jù)類型.