|
php簡(jiǎn)介: php:(Hypertext Preprocessor 超文本預(yù)處理器)是一種功能強(qiáng)大的服務(wù)器端的腳本語(yǔ)言發(fā)展:1994(php/F1)———>1996(php/F2)(可以訪問(wèn)數(shù)據(jù)庫(kù))———>1998(php/F3)———>2000(php/F4)———2004(php5) 所有的語(yǔ)句都是由表達(dá)式組成的php的幾種寫法 <1> <?php php語(yǔ)句 ?> <2> <? php語(yǔ)句 ?> <3> <script language="php"> php語(yǔ)句 </script> <4> <% php語(yǔ)句 %> zeed:代表php的內(nèi)核 iis(internet信息服務(wù)):是微軟的一個(gè)web服務(wù)器 php的兩種開發(fā)環(huán)境: LAMP(linux apache mysql php):這四種的都是開源的。<環(huán)境一> WAMP(windows apache mysql php) <環(huán)境 二> tomcat是應(yīng)用服務(wù)器 apache是web服務(wù)器 {}:叫符合語(yǔ)句 php是弱類型的語(yǔ)言,但是它區(qū)分大小寫 ------------------ 變量: ------------------ 1.命名:變量名由字母、數(shù)字和下劃線組成。 1):變量名區(qū)分大小寫 2):變量名必須以$開頭 3):不能以數(shù)字開頭 4):不能是系統(tǒng)關(guān)鍵字 1): isset("name"):判斷變量是否被初始化,返回值的類型是boolean; <?php $Hello; if(isset($Hello)){ echo "variable was set!"; }else { echo "variable is not set"; } ?> 這個(gè)程序的結(jié)果是variable is not set 2)define("name","value");定義常量 <? define("num",4); echo num; ?> 這個(gè)程序的結(jié)果是:4; 3): defined("name")判斷常量是否被初始化,返回值類型是boolean; <? define("num",4); if(defined("num")){ echo "num was set value"; }else{ echo "num not is set value"; } ?> 這個(gè)程序的結(jié)果是:num was set value; 常量與變量的區(qū)別:常量名的前面不加$. boolean類型的返回值: 如果返回的值是真:輸出的則是:true 、TRUE 1 '1' 這幾種形式 如果返回值是假:輸出的則是:false FALSE 0 null這幾種形式 變量的數(shù)據(jù)類型: 1.布爾型 2.整形 3.浮點(diǎn)型 4.字符串行 5.數(shù)組 6.對(duì)象 7.空值 8.資源 var_dump(變量名) 返回值是變量的類型,長(zhǎng)度和變量的值 gettype(變量名) 返回值是變量的類型 運(yùn)算符: 算術(shù)運(yùn)算符(+ - * /--結(jié)果永遠(yuǎn)是浮點(diǎn)數(shù) %) 邏輯運(yùn)算符(&&(and) ||(or) !(not) xor(異或)) 比較運(yùn)算符(關(guān)系運(yùn)算符)(> < == >= <= !=) 賦值運(yùn)算符(= += -= *= /= %= .= ) 異或運(yùn)算的規(guī)則:相同為零,不同為1; 字符串的連接運(yùn)算符是:一個(gè)點(diǎn). 優(yōu)先級(jí)的排列:算術(shù)運(yùn)算符>比較運(yùn)算符>邏輯運(yùn)算符>賦值運(yùn)算符 /(除)在php中的應(yīng)用: <? $num=102; $numtwo=$num/10; echo $numtwo; ?> 這個(gè)程序的結(jié)果是:10.2 %(求余數(shù)、求模)在php中的應(yīng)用 <? $num=103; echo $num%10; ?> 這個(gè)程序的結(jié)果是:3 $$在php中的應(yīng)用: <?php $hellow="php"; $i="hellow"; echo $$i; ?> 這個(gè)程序輸出的結(jié)果是:php /這個(gè)符號(hào)在php中的用法與在c中的用法是不同的: 在php中得到的結(jié)果永遠(yuǎn)是浮點(diǎn)型 在c中如果符號(hào)前后的數(shù)都是int型,那么得到的結(jié)果也是int型的。只要符號(hào)前后的 數(shù)有一個(gè)是浮點(diǎn)型,結(jié)果就是浮點(diǎn)型。 === 判斷類型和數(shù)值是不是都相等。 == 只是判斷數(shù)值是不是相等 <? $str='100'; if($str==100) { echo "true"; }else{ echo "false"; } ?> 這個(gè)程序的結(jié)果:輸出的是true; <? $str='100'; if($str===100) { echo "true"; }else{ echo "false"; } ?> <? $str=100.0; if($str===100) { echo "true"; }else{ echo "false"; } ?> 這個(gè)程序的結(jié)果:輸出的是false,因?yàn)閟tr的類型是double類型的; <? $str=100.0; if($str==100) { echo "true"; }else{ echo "false"; } ?> 這個(gè)程序的結(jié)果:輸出的是true; /n在php中的使用 <? $str="100.0
100"; echo $str; ?> 這個(gè)程序的結(jié)果:輸出的是100.0和100不在同一行上。 $a*=$b+3和$a=($a*$b)+3的結(jié)果是相同的 三元運(yùn)算符:格式:表達(dá)式,表達(dá)式1:表達(dá)式2; <? $a=10; $b=9; $c=$a>$b?"a>b":"a<b"; echo $c; echo var_dump($c); ?> 這個(gè)程序的結(jié)果是:a>bstring(3)流程控制語(yǔ)句: 1.分支: 格式1:if語(yǔ)句 if(條件){ 語(yǔ)句集; } 格式2;if(條件){ 語(yǔ)句集1; }else{ 語(yǔ)句集2; } 格式3:if(條件1){ 語(yǔ)句集1; }else if(條件2){ 語(yǔ)句集2; }else{ 語(yǔ)句集3; } 格式3中的else可以去掉,結(jié)果正確,速度會(huì)變慢的。 多分支結(jié)構(gòu); switch語(yǔ)句 格式: switch(表達(dá)式){ case 常量:語(yǔ)句;break; case 常量2:語(yǔ)句;break; ...... default:語(yǔ)句;break; } 循環(huán): while:條件為真時(shí),執(zhí)行循環(huán)體。 格式:while(條件){ 循環(huán)體; } 例題 <? $a=1; $sum=0; while($a<10){ $sum+=$a; $a++; } ?> 這個(gè)程序的結(jié)果是:55; for 格式: for(表達(dá)式1;表達(dá)式2;表達(dá)式3){ 循環(huán)體; } <? $mul=1; for($i=1;$i<=10;$i++){ $mul*=$i; } echo $mul; ?> 循環(huán)的控制語(yǔ)句 1.break:終止循環(huán) 2.continue:終止本次循環(huán),進(jìn)入下一次循環(huán) continue; <? $mul=1; for($i=1;$i<=10;$i++){ if($i%2==0){ continue; mul*=$i; } } echo $mul; ?> break; <? $mul=1; for($i=1;$i<=10;$i++){ if($i==5){ break; mul*=$i; } } echo $mul; ?> <? $mul=1; for($i=1;$i<=10;$i++){ for($j=1;$j<10;$j++){ echo $j; break; } if($i==5){ break; mul*=$i; } } echo $mul; ?> 邏輯運(yùn)算符的幾種寫法: <? echo 3>2&&4>3 ?> <? echo 3>2 and 4>3 ?> <? echo 3>2 || 4>3 ?> <? echo 3>2 or 4>3 ?> 位運(yùn)算: <? echo 3&2 ?> 按位與;見零為零 按位或:見1為1 >>向右移位 <<向左移位 數(shù)組: 分類;枚舉數(shù)組、關(guān)聯(lián)數(shù)組、和多維數(shù)組 枚舉數(shù)組:下標(biāo)為整數(shù)的數(shù)組 下標(biāo)是可以自己定義的,例如從5開始,而不是從0開始 關(guān)聯(lián)數(shù)組:用字符串作為下標(biāo)的數(shù)組。 為數(shù)組賦值用到的函數(shù)是:array 輸出數(shù)組用到的函數(shù)是:print_r(數(shù)組名) 輸出數(shù)組的格式: Array([name] => james[sex] => boy) 例如: $stu=array("james","jack","tom") 數(shù)組的下標(biāo)從0開始的數(shù)組 $stu=array(2=>"james","jack","tom") 數(shù)組的下標(biāo)從2開始的數(shù)組 <? $stu=array("james","jack","tom") print_r($stu); ?> 關(guān)聯(lián)數(shù)組的賦值 $stu=array("name"=>"james","sex"=>"boy") 數(shù)組的名稱加下標(biāo)來(lái)引用數(shù)組; <? $stu=array("name"=>"james","sex"=>"boy"); echo $stu["name"]; echo "<p>".$stu["sex"]; ?> 刪除數(shù)組元素:unset(); 1.刪除整個(gè)數(shù)組:unset($arr) 2.刪除單個(gè)數(shù)組元素 按照數(shù)組的字符下標(biāo)刪除數(shù)組 <? $stu=array("name"=>"james","sex"=>"boy"); print_r($stu); unset($stu["name"]); ?> <br> <? print_r($stu); ?> 按下標(biāo)值刪除數(shù)組的元素 <? $stu=array("james","jack","tom"); print_r($stu); unset($stu[1]); ?> <br> <? print_r($stu); ?> 便利整個(gè)數(shù)組用到的方法是:foreach(); 1.輸出數(shù)組中的所有的值; foreach(數(shù)組名 as $value) <? $stu=array("james","jack","tom"); foreach($stu as $value){ echo $value."<br>"; } ?> 2.輸出元素的下標(biāo)和值; foreach(數(shù)組名 as $k=>$value){} <? $stu=array("james","jack","tom"); foreach($stu as $k=>$value){ echo "$stu[$k]=$value."<br>"; } ?> each():返回?cái)?shù)組中的鍵值對(duì) 鍵有1,0,value,key四種形式,1和value對(duì)應(yīng)的是數(shù)組的元素的值,0和key對(duì)應(yīng)的是數(shù)組的元素的下標(biāo) 例題1: <? $stu=array("james","jack","tom"); print_r(each($stu)); ?> 這個(gè)程序的結(jié)果是:Array([1] => james[value] => james[0] => 0[key] => 0) 例題2 <? $stu=array("james","jack","tom"); $arr=each($stu); echo '<br>value對(duì)應(yīng)的值是:'.$arr["value"]; echo '<br>key對(duì)應(yīng)的值是:'.$arr["key"]; echo '<br>1對(duì)應(yīng)的值是:'.$arr["1"]; echo '<br>0對(duì)應(yīng)的值是:'.$arr["0"]; ?> 這個(gè)程序的結(jié)果是: value對(duì)應(yīng)的值是:james key對(duì)應(yīng)的值是:0 1對(duì)應(yīng)的值是:james 0對(duì)應(yīng)的值是:0 例題3 <? $stu=array("james","jack","tom"); for($i=1;$i<=3;$i++){ $arr=each($stu); echo "<pr>"; print_r($arr); } ?> 這個(gè)程序的結(jié)果是: Array ( [1] => james [value] => james [0] => 0 [key] => 0 ) Array ( [1] => jack [value] => jack [0] => 1 [key] => 1 ) Array ( [1] => tom [value] => tom [0] => 2 [key] => 2 ) list的用法; list函數(shù)僅用于數(shù)組下標(biāo)從0開始的數(shù)組。 <? $info=array('coffe','bprown','caffeine'); list($drink,$color,$power)=$info; echo "$drink is $color and $power makes it special.
"; list($drink, ,$power)=$info; echo "$drink has $power.
"; list(,, $power)=$info; echo "I need $power!" ?> next()將數(shù)組的指針移到下一個(gè)元素上 prev()將數(shù)組的指針移到上一個(gè)元素上 end()將數(shù)組的指針移到最后一個(gè)元素 current();數(shù)組當(dāng)前光標(biāo)所指的元素 range()自動(dòng)生成一個(gè)包含指定范圍的數(shù)組,有兩個(gè)參數(shù)。 <? $arr=range(5,12); print_r($arr); ?> 這個(gè)程序的輸出結(jié)果是: Array([0] => 5[1] => 6[2] => 7[3] => 8[4] => 9[5] => 10[6] => 11[7] => 12) <? $arr=range(1,100,10); print_r($arr); ?> 這個(gè)程序的結(jié)果是: Array([0] => 1[1] => 11[2] => 2[3] => 31[4] => 41[5] => 51[6] => 61[7] => 71[8] => 81[9] => 91) <? $arr=range('a','c'); print_r($arr); ?> 這個(gè)程序的輸出結(jié)果是: Array([0] => a[1] => b[2] => c) count()統(tǒng)計(jì)數(shù)組中的元素的個(gè)數(shù) 例題<? $info=array('coffe','bprown','coffe'); echo (count($info)); ?> 這個(gè)程序的輸出結(jié)果是:3 array_count_values()統(tǒng)計(jì)數(shù)組中相同元素的個(gè)數(shù); 返回值是一個(gè)數(shù)組 例題 <? $info=array('coffe','bprown','coffe'); print_r(array_count_values($info)); ?> 這個(gè)程序的輸出結(jié)果是: Array([coffe] => 2 [bprown] => 1) 多維數(shù)組: 定義:$arr=array(array("James","boy"),array("Jack","boy"),array("Tom")) array_keys()把數(shù)組的下標(biāo)值以數(shù)組的格式返回 array_values()把數(shù)組中的元素的值以數(shù)組的格式返回 array echo list print都不是函數(shù),是一個(gè)結(jié)構(gòu),利用一個(gè)結(jié)構(gòu)實(shí)現(xiàn)一個(gè)功能。 輸出一個(gè)變量的時(shí)候可以寫成<?=$a;?>這個(gè)格式跟<?echo $a;?>具有相同的功能利用echo和print進(jìn)行輸出操作是可以加上括號(hào),也可以不加括號(hào)函數(shù): 定義:獨(dú)立完成特定功能的代碼塊。 函數(shù)的分類: 1.內(nèi)置函數(shù):系統(tǒng)定義的函數(shù) 2.自定義函數(shù):用戶自己定義的函數(shù)。 print<<<start 代碼 start; 例題: <?php print<<<start hello php world! class 0708javaA; start ?> 輸出的內(nèi)容是:hello php world! class 0708javaA 注意:1.start可以被替換成任意字母,只要前后匹配就行, 2.print<<<start 和start 一定要頂格寫。 include():包含一個(gè)文件 例題:include("a.php"); include包含文件中的return語(yǔ)句的使用 one.php <? $b=include("a.php"); if($b=="ok") { echo "file is ok"; } ?> a.php文件 <?return “ok”?> 這個(gè)程序的輸出結(jié)果是:file is ok include_once("b.php"); include(a.php); 如果b.php文件中包含了a.php文件,include(a.php)這一句將不再執(zhí)行。 require():包含一個(gè)文件 例題:require("a.php"); <? $b=require("a.php"); if($b=="ok") { echo "file is ok"; } ?> a.php文件 <?return “ok”?> 這個(gè)程序的輸出結(jié)果是:file is ok require_once("b.php"); require(a.php); 如果b.php文件中包含了a.php文件,require (a.php)這一句將不再執(zhí)行。 Require和include的區(qū)別: 1. require語(yǔ)句必須放在程序的開頭,include語(yǔ)句可以放在程序的任意位置 2. require包含的文件出現(xiàn)錯(cuò)誤是,整個(gè)程序停止運(yùn)行,include包含的文件出現(xiàn)錯(cuò)誤時(shí),回跳過(guò)這個(gè)錯(cuò)誤,繼續(xù)執(zhí)行下面的程序。 聲明一個(gè)函數(shù): function fun_name( $args){ 函數(shù)體; }; 無(wú)參數(shù)的函數(shù) 例題: <? function noargs() { echo "這是一個(gè)無(wú)參數(shù)的函數(shù)"; } noargs(); ?> 有參數(shù)的函數(shù): 例題: <?php function myfun($arg){ echo "這是${arg}語(yǔ)言的一個(gè)函數(shù)"; //注意:引用參數(shù)的時(shí)候要用{}擴(kuò) 起來(lái)。 } myfun("php"); ?> 這個(gè)程序的結(jié)果是:這是php語(yǔ)言的一個(gè)函數(shù) 按值傳遞: 例題: <? $num=100; function fun($a){ echo '$a='.$a*=10; echo '<br>'; } fun($num); echo '$num='.$num; ?> 這個(gè)程序的結(jié)果是: $a=1000 $num=100; 按地址傳遞:注意取地址符號(hào)(&)的使用 <? $num=100; function fun($a){ echo '$a='.$a*=10; echo '<br>'; } fun(&$num); echo '$num='.$num; ?> 這個(gè)程序的結(jié)果是: $a=1000 $num=1000 默認(rèn)傳值: 注意:盡量不要將默認(rèn)值參數(shù)定義在第一個(gè)參數(shù)位置,容易造成 <? function myfun($a1,$a2){ echo '$a='.$a*=10; echo '<br>'; } myfun(100,8); ?> 這個(gè)程序的結(jié)果是: 10000 800 帶有return的函數(shù) <?php function myfun($arg1){ $arg1*=8; return $arg1; } echo myfun(10); ?> 這個(gè)程序的結(jié)果是:80 函數(shù)自身調(diào)用 <?php function myfun($arg){ if($arg==0) return 1; return $arg*myfun($arg-1); } echo myfun(4); ?> 這個(gè)程序的結(jié)果是:24 變量函數(shù):如果一個(gè)變量名后有括號(hào),PHP則搜索與變量值相同的函數(shù)。并且執(zhí)行它無(wú)參變量函數(shù): <?php function f(){ echo "hello php!"; } $temp="f"; $temp(); ?> 這個(gè)程序的結(jié)果是:hello php; 帶參變量函數(shù): <?php function f($arg){ return $arg*10; } $temp="f"; echo $temp(10); ?> 這個(gè)程序的結(jié)果:100; 變量的作用域: global語(yǔ)句: <?php $a=100; echo $a.'<br>'; function write(){ global $a; $a=20; } write(); echo $a; ?> 這個(gè)程序的結(jié)果是: 100 20 <?php $a=100; echo $a.'<br>'; function write(){ $a=20; } write(); echo $a; ?> 這個(gè)程序的結(jié)果是: 100 100 static 語(yǔ)句:靜態(tài)變量 <? function sum(){ static $a=0; echo $a.' '; $a++; } sum(); sum(); sum(); ?> 這個(gè)程序的結(jié)果是:0 1 2 <? function sum(){ $a=0; echo $a; $a++; } sum(); sum(); sum(); ?> 這個(gè)程序的結(jié)果是:0 0 0 獲取時(shí)間和日期 a - "am" 或是 "pm" A - "AM" 或是 "PM" d - 幾日,二位數(shù)字,若不足二位則前面補(bǔ)零; 如: "01" 至 "31" D - 星期幾,三個(gè)英文字母; 如: "Fri" F - 月份,英文全名; 如: "January" h - 12 小時(shí)制的小時(shí); 如: "01" 至 "12" H - 24 小時(shí)制的小時(shí); 如: "00" 至 "23" g - 12 小時(shí)制的小時(shí),不足二位不補(bǔ)零; 如: "1" 至 12" G - 24 小時(shí)制的小時(shí),不足二位不補(bǔ)零; 如: "0" 至 "23" i - 分鐘; 如: "00" 至 "59" j - 幾日,二位數(shù)字,若不足二位不補(bǔ)零; 如: "1" 至 "31" l - 星期幾,英文全名; 如: "Friday" m - 月份,二位數(shù)字,若不足二位則在前面補(bǔ)零; 如: "01" 至 "12" n - 月份,二位數(shù)字,若不足二位則不補(bǔ)零; 如: "1" 至 "12" M - 月份,三個(gè)英文字母; 如: "Jan" s - 秒; 如: "00" 至 "59" S - 字尾加英文序數(shù),二個(gè)英文字母; 如: "th","nd" t - 指定月份的天數(shù); 如: "28" 至 "31" U - 總秒數(shù) w - 數(shù)字型的星期幾,如: "0" (星期日) 至 "6" (星期六) Y - 年,四位數(shù)字; 如: "1999" y - 年,二位數(shù)字; 如: "99" z - 一年中的第幾天; 如: "0" 至 "365" 字符串: 1. 格式化字符: 1):trim():去除兩端的空格。 例題: <? $str=' wo shi guo dan dan '; echo trim($str); ?> 這個(gè)程序的結(jié)果是:|wo shi guo dan dan| 2): ltrim():去除左端的空格。 例題: <? $str=' wo shi guo dan dan '; echo ltrim($str); ?> 這個(gè)程序的結(jié)果是:|wo shi guo dan dan | 3): rtrim():去除右端的空格。 例題: <? $str=' wo shi guo dan dan '; echo ltrim($str); ?> 這個(gè)程序的結(jié)果是:| wo shi guo dan dan| 4): strtoupper();把字符串中的小些部分全部轉(zhuǎn)換成大寫 例題: <? $str=?wo shi guo dan dan'; echo strtoupper($str); ?> 這個(gè)程序的結(jié)果是:WO SHI GUO DAN DAN 5): strtolower();把字符串中的大寫部分全部轉(zhuǎn)換成小寫; 例題: <? $str=?WO SHI GUO DAN DAN'; echo strtolower($str); ?> 這個(gè)程序的結(jié)果是:wo shi guo dan dan 6) ucfirst();把字符串的第一個(gè)字母轉(zhuǎn)換成大寫。 Ucfirst中的u:upper c:convert 例題: <? $str='wo shi guo dan dan'; echo ucword($str); ?> 這個(gè)程序的結(jié)果是:Wo shi guo dan dan 7): ucwords() 將每個(gè)單詞的首字母轉(zhuǎn)換為大寫 例題: <? $str='wo shi guo dan dan'; echo ucword($str); ?> 這個(gè)程序的結(jié)果:Wo Shi Guo Dan Dan 8): nl2br():把字符串中的
轉(zhuǎn)換成<br>標(biāo)簽。 參數(shù)就是要處理的字符串 例題: <? $str="i love php,
and you? "; $str=nl2br($str); echo $str; ?> 這個(gè)程序的結(jié)果是: i love php,<br /> and you? 9): htmlspecialchars(str,quote_style); str:要轉(zhuǎn)換的字符 quote_style:轉(zhuǎn)換方式,主要對(duì)單引號(hào)和雙引號(hào)進(jìn)行轉(zhuǎn)換。值如下: ENT_COMPAT 雙引號(hào)被轉(zhuǎn)換 ENT_QUOTES 單引號(hào)和雙引號(hào)都被轉(zhuǎn)換 ENT_NOQUOTES 任何一個(gè)引號(hào)都不被轉(zhuǎn)換 輸出的結(jié)果是字符串的內(nèi)容,如果不用htmlspcialchars()這個(gè)函數(shù)處理。輸 出的結(jié)果是:帶有下劃線的link。 特殊符號(hào)的介紹: <:< >:< ':輸出的是單引號(hào) 例題: <? $str="<a href='www.baidu.com'>link</a>"; $str=htmlspecialchars($str); echo $str; ?> 這個(gè)程序輸出的結(jié)果是:"<a href='www.baidu.com'>link</a> 10): strip_tags():去除字符串中的php和html代碼。 第一個(gè)參數(shù)是要處理的字符串: 第二個(gè)參數(shù)是要留下的標(biāo)簽。 例題1: <? $str="<font color=read><a href='www.baidu.com'>link</a></font>"; $str=strip_tags($str); //只有一個(gè)參數(shù)的情況 echo $str; ?> 這個(gè)程序的結(jié)果是:不是超鏈接的“l(fā)ink” 例題2: <? $str="<font color=read><a href='www.baidu.com'>link</a></font>"; $strip_tags($str,"<font><a>"); //有兩個(gè)參數(shù)的寫法 echo $str; ?> 這個(gè)程序的結(jié)果是:帶有超鏈接的“l(fā)ink“并且字體是紅色的 11): addslashes():按照一定的規(guī)則將字符串進(jìn)行轉(zhuǎn)義。 magic_quotes_gpc = On 自動(dòng)對(duì) get post cookie的內(nèi)容進(jìn)行轉(zhuǎn)義 get_magic_quotes_gpc()檢測(cè)是否打開magic_quotes_gpc 例題: <? $str="hello 'jack'"; $str=addslashes($str); echo $str; ?> 這個(gè)程序的結(jié)果是:hello,?jack? 12): stripslashes();去除字符串中的反斜杠 參數(shù)是要處理的字符串。 例題: <? $str="hello 'jack'"; $str=stripcslashes($str); echo $str; ?> 這個(gè)程序的結(jié)果是:hello ?jack? 13): Explode():分割字符串。 第一個(gè)參數(shù)是分割號(hào) 第二個(gè)參數(shù)是分割的字符串。 第三個(gè)參數(shù)表示要分成幾部分。 這個(gè)函數(shù)的返回值類型是數(shù)組; 例題: <? $str="jack;john;tom"; $str=explode(";",$str); print_r($str); ?> 這個(gè)程序的結(jié)果是:Array( [0] => jack [1] => john [2] => tom) 14): implode():連接字符串。。 第一個(gè)參數(shù)是:連接用到的符號(hào) 第二個(gè)參數(shù)是要連接的數(shù)組。 例題: <? $str=array('guo','dan','dan'); $str=implode('-',$str); echo $str; ?> 這個(gè)程序的結(jié)果是:guo-dan-dan 15): Strtok();從指定字符串中去除指定字符。 第一個(gè)參數(shù)是:要處理的字符串 第二個(gè)參數(shù)是:要從字符串中去除的字符 例題: <? $str='wo;shi;gdd'; $newstr=strtok($str,';'); while ($newstr){ echo $newstr; $newstr=strtok(';'); } ?> 這個(gè)程序的結(jié)果是: WoShiGdd 16): Substr()在指定的字符串中取出規(guī)定的字符串 第一個(gè)參數(shù):要處理的字符串 第二個(gè)參數(shù):提取子字符串開始的位置。(按照索引) 第三個(gè)參數(shù):提取的子字符串的長(zhǎng)度。(這個(gè)參數(shù)可以不存在) <? $str='wo;shi;gdd'; $newstr=substr($str,'2','4'); echo $newstr; ?> 這個(gè)程序輸出的結(jié)果是:;sh 17): strcmp(); 字符串的比較;(比較的時(shí)候區(qū)分大小寫) 兩個(gè)參數(shù)都是字符串。 比較的規(guī)則:從左向右按照字母的ASCII進(jìn)行比較。 例題: <? $str1="abc"; $str2="abcd"; echo strcmp($str1,$str2); ?> 這個(gè)程序的結(jié)果是:-1 第一個(gè)字符串比第二個(gè)字符串大的時(shí)候返回的是1; 第一個(gè)字符串比第二個(gè)字符串小的時(shí)候返回的是-1; 兩個(gè)字符串相等的時(shí)候返回的是0; 18): strcasecmp():字符串的比較(不區(qū)分大小寫) 兩個(gè)參數(shù)都是字符串。 比較的規(guī)則:從左向右按照字母的ASCII進(jìn)行比較。 例題: <? $str1="abc"; $str2="ABC"; echo strcasecmp($str1,$str2); ?> 這個(gè)程序的結(jié)果是:0; 第一個(gè)字符串比第二個(gè)字符串大的時(shí)候返回的是1; 第一個(gè)字符串比第二個(gè)字符串小的時(shí)候返回的是-1; 兩個(gè)字符串相等的時(shí)候返回的是0;】 19): strnatcmp();按自然順序比較字符串的大小; 兩個(gè)參數(shù)都是字符串。 比較的規(guī)則:先比較字符串的長(zhǎng)度長(zhǎng)度長(zhǎng)的字符串大,如果長(zhǎng)度相等,從 左到右逐位按照ASCCII碼進(jìn)行比較。 例題: <? $str1="abc"; $str2=”abcd”; echo strcmp($str1,$str2); ?> 這個(gè)程序的結(jié)果是:-1; 第一個(gè)字符串比第二個(gè)字符串大的時(shí)候返回的是1; 第一個(gè)字符串比第二個(gè)字符串小的時(shí)候返回的是-1; 兩個(gè)字符串相等的時(shí)候返回的是0;】 20): Strnatcasecmp():用法和strnatcmp相同,只是不區(qū)分大小寫。 兩個(gè)參數(shù)都是字符串。 比較的規(guī)則:先比較字符串的長(zhǎng)度長(zhǎng)度長(zhǎng)的字符串大,如果長(zhǎng)度相等,從左到右逐位按照ASCCII碼進(jìn)行比較。 例題: <? $str1="abc"; $str2=”ABC”; echo strcmp($str1,$str2); ?> 這個(gè)程序的結(jié)果是:0; 第一個(gè)字符串比第二個(gè)字符串大的時(shí)候返回的是1; 第一個(gè)字符串比第二個(gè)字符串小的時(shí)候返回的是-1; 兩個(gè)字符串相等的時(shí)候返回的是0;】 21): strstr();在指定的字符串中查找字符串。 第一個(gè)參數(shù):從這個(gè)字符串中查詢。 第二個(gè)參數(shù):要找的字符串。 例題: <? $str1="abcefg@habcdefgh"; $str2="ab"; echo strstr($str1,$str2); ?> 這個(gè)程序的結(jié)果是:abcefg@habcdefgh 查詢的規(guī)則:從左向右的順序:輸出第一次出現(xiàn)要找的字符的位置右邊的所 有的字符并且包含要找的字符。字符串中沒(méi)有要查找的字符,返回null。 22): stristr();和strstr的功能相同,只是不區(qū)分大小寫。 第一個(gè)參數(shù):從這個(gè)字符串中查詢。 第二個(gè)參數(shù):要找的字符串 例題: <? $str1="abcefg@habcdefgh"; $str2="F"; echo stristr($str1,$str2).'<br>'; ?> 這個(gè)程序輸出的結(jié)果是:fg@habcdefgh 查詢的規(guī)則:從左向右的順序:輸出第一次出現(xiàn)要找的字符的位置右邊的所 有的字符并且包含要找的字符。字符串中沒(méi)有要查找的字符,返回null。 23): strrchr();從最后一次搜索到的字符處返回 第一個(gè)參數(shù):從這個(gè)字符串中查詢。 第二個(gè)參數(shù):要找的字符串 例題: <? $path = "c:aaaa.html"; $filename = strrchr($path,""); echo $filename; ?> 這個(gè)程序的輸出結(jié)果是:a.html; 24): strpos():在指定的字符串中查找子字符串第一次出現(xiàn)的位置,找不到返回 fase; 第一個(gè)參數(shù):在這個(gè)字符串中查找。 第二個(gè)參數(shù):要查找的子字符串。 第三個(gè)參數(shù):定義查證范圍的開始位置。 例題: <? $path = "abcdeabcdeabcde"; $filename = strpos($path,"b",4); echo $filename; ?> 這個(gè)程序的輸出結(jié)果是:6; 25): strrpos():功能和strpos相同,定義范圍的時(shí)候,是子字符串最后一次出 現(xiàn)的位置。 第一個(gè)參數(shù):在這個(gè)字符串中查找。 第二個(gè)參數(shù):要查找的子字符串。 第三個(gè)參數(shù):定義查證范圍的開始位置。 例題: <? $path = "abcdeabcdeabcde"; $filename = strrpos($path,"b",4); echo $filename; ?> 這個(gè)程序的查詢結(jié)果是:11; 26): str_replace():用新的字符串替換指定目標(biāo)字符串中的子字符串。 第一個(gè)參數(shù):子字符串: 第二個(gè)參數(shù):新字符串。 第三個(gè)參數(shù):目標(biāo)字符串. 例題: <? $path = "abcdeabcdeabcde"; $filename =str_replace('ab','woshi',$path); echo $filename; ?> 這個(gè)程序的是輸出結(jié)果是:woshicdewoshicdewoshicde。 27): substr_replace(); 第一個(gè)參數(shù):原始字符串 第二個(gè)參數(shù):新字符串 第三個(gè)參數(shù):替換的開始位置 第四個(gè)參數(shù):要替換的字符串的長(zhǎng)度。(可以存在,也可以不存在) <? $str="hello php!"; $newstr=substr_replace($str,'hi',0,5); echo $newstr; ?> 這個(gè)程序的結(jié)果是:hi php! 28):strlen();求字符串的長(zhǎng)度。 參數(shù)是要求長(zhǎng)度的字符串的。 例題: <? $str="wohshigdd"; echo strlen($str); ?> 這個(gè)程序的結(jié)果是:9 表單: 1. 表單的三種提交方式: 1).get方式:功能:獲取get方式提交的數(shù)據(jù) 格式:$_GET[“formelement”] 2):post方式:功能:獲取post方式提交的數(shù)據(jù) 格式:$_POST[“formelement”] 3):request方式:功能:獲取任意方式提交的數(shù)據(jù) 格式:$_REQUEST[“formelement”] 2. 文件上傳: $_FILES[“filename”] :返回的值的類型是文件對(duì)象 1):$_FILES[“filename”][“name”]:返回上傳文件的文件名 2): $_FILES[“filename”][“type”]:返回上傳文件的類型 3): $_FILES[“filename”][“size”]:返回上傳文件的大小 4): $_FILES[“filename”][“tmp_name”]:返回上傳文件的臨時(shí)文件名 5): $_FILES[“filename”][“error”]:返回上傳文件相關(guān)的錯(cuò)誤代碼 Error屬性的返回值的幾種情況: 0:沒(méi)有上傳錯(cuò)誤,上傳成功 1.:上傳文件超過(guò)了php.ini文件中upload_max_filesize選項(xiàng)限制的 值 2.:上傳文件超過(guò)了HTML表單中MAX_FILE_SIZE選項(xiàng)限制的值 3.:文件只有部分被上傳 4.:沒(méi)有文件被上傳 例題: html文件: <html> <form action="uploadfile.php" enctype="multipart/form-data" method="POST"> <input type="file" name="uploadfile" > <input type="submit" value="上傳"> </form> </html> Uploadfile.php文件 <? $uploaddir="./uploads/"; //$uploadfile=$uploaddir.$_FILES["uploadfile"]["name"]; $uploadfile=date("Yhsm").strrchr($uploaddir.$_FILES["uploadf ile"]["name"],"."); if(move_uploaded_file($_FILES["uploadfile"]["tmp_name"],$upl oadfile)){ print "上傳成功".'<br>'; }else { print "上傳失敗".'<br>'; } echo "上傳的文件類型".$_FILES['uploadfile']["type"].'<br>'; echo "上傳的文件名".$_FILES['uploadfile']["name"].'<br>'; echo "上傳的文件大小".$_FILES['uploadfile']["size"].'<br>'; ?> 文件上傳的幾個(gè)相關(guān)屬性: 1):file_uploads=on:是否允許通過(guò)http上傳文件的開關(guān) 2):upload_tmp_dir=”${path} mp:存放臨時(shí)文件?!?/p> 3):upload_max_file=8M: 允許上傳的最大文件的大小 4):post_max_size=10M: 控制在采用POST方法進(jìn)行一次表單提交中PHP所能 夠接收的最大數(shù)據(jù)量。 5):max_input_time = 60(秒):以秒為單位對(duì)通過(guò)POST、GET以及PUT方式 接收數(shù)據(jù)時(shí)間進(jìn)行限制。如果應(yīng)用程序所運(yùn)行環(huán)境處在低速鏈路上,則需 要增加此值以適應(yīng)接收數(shù)據(jù)所需的更多時(shí)間 6):memory_limit = 8M :為了避免正在運(yùn)行的腳本大量使用系統(tǒng)可用內(nèi) 存,PHP允許定義內(nèi)存使用限額。通過(guò)memory_limit變量來(lái)指定單個(gè)腳本 程序可以使用的最大內(nèi)存容量變量memory_limit的值應(yīng)當(dāng)適當(dāng)大于 post_max_size的值 url編碼相關(guān)的幾個(gè)屬性: 1):urlencode(): 功能:對(duì)url進(jìn)行編碼。對(duì)所有非字母、數(shù)字字符轉(zhuǎn)換成%后跟16進(jìn)制 數(shù),空格用+表示。 例題: <? $url="教程 wdl=aaa"; $encodeurl= urlencode($url); //編碼函數(shù) echo $encodeurl.'<br>'; ?> 這個(gè)程序的結(jié)果: http%3A%2F%2Fwww.baidu.com%2Fs%3Fwd%3DPHP%BD%CC%B3%CC+wdl%3D aaa 2):urldecode() 功能:對(duì)上面函數(shù)轉(zhuǎn)換后的編碼進(jìn)行解碼 <? $url="教程 wdl=aaa"; $encodeurl= urlencode($url); //編碼函數(shù) echo urldecode($encodeurl); //解碼解碼函數(shù) ?> 這個(gè)程序的結(jié)果是:教程 wdl=aaa Session的用法: session是存放在服務(wù)器端的一個(gè)變量,session 是通過(guò)sessionid區(qū) 分的。 $_SESSION[“session_name”] 在多個(gè)頁(yè)面之間傳遞值 格式:$_SESSION[“filename”] = “PHP.file” 注意:開啟php.ini中選項(xiàng) session.auto_start = 1 :表示有請(qǐng)求時(shí)就自動(dòng)啟動(dòng) session_start()事件 例題: sessionForm.php文件: <form action="session.php" method="POST"> username:<input type="text" name="user"><br> password:<input type="password" name="password"><br> <input type="submit"> </form> session.php文件: <? $_SESSION["user"]=$_POST["user"]; //設(shè)置session變量。 $_SESSION["password"]=$_POST["password"]; ?> <a href="showsession.php">顯示</a> showsession.php文件: <? echo 'username:'.$_SESSION["user"].'<br>'; echo 'password:'.$_SESSION["password"].'<br>'; ?> 數(shù)據(jù)庫(kù)的連接: 1. 服務(wù)器的連接函數(shù):mysql_connection(); 第一個(gè)參數(shù)是:服務(wù)器 第二個(gè)參數(shù)是:用戶名 第三個(gè)參數(shù)是:密碼 2. 選擇數(shù)據(jù)庫(kù)的函數(shù):mysql_select_db(); 第一個(gè)參數(shù)是:數(shù)據(jù)庫(kù)名。 第二個(gè)參數(shù)是:服務(wù)器 這個(gè)函數(shù)的返回值是boolean類型。 3. 創(chuàng)建查詢的函數(shù)是:mysql_query();參數(shù)是sql語(yǔ)句; 返回值:資源標(biāo)識(shí)、true和false三種 4. 操作查詢:mysql_fetch_row():參數(shù)是查詢的結(jié)果 例題: <? $conn=mysql_connect("localhost","root",""); //服務(wù)器的鏈接 if(mysql_select_db("gdd",$conn)){ //判斷數(shù)據(jù)庫(kù)連接是否成 功 echo "連接成功~"; }else{ echo "連接失敗~"; } $sql="select * from user"; $result=mysql_query($sql,$conn); //執(zhí)行sql語(yǔ)句 echo "<table border=1>"; $f=mysql_fetch_field($result); echo "<tr>"; foreach ($arr as $v){ echo "<td>".$v."</td>"; } echo "</tr>"; while($arr=mysql_fetch_row($result)){ echo "<tr>"; foreach ($arr as $v) { echo "<td>".$v.'</td>'; } echo "</tr>"; } ?> </table> 5): mysql_fetch_array($result):從查詢語(yǔ)句返回的結(jié)果集中取得一行作 為關(guān)聯(lián)數(shù)組或數(shù) 字?jǐn)?shù)組,或二者都有 例題: <? //exit也可以用die代替。 $conn=mysql_connect("localhost","root","") or exit("連接數(shù)據(jù)庫(kù)失敗~"); mysql_select_db("gdd"); $str="select * from user"; $result=mysql_query($str); echo "<table border=1>"; while($arr=mysql_fetch_array($result)){ echo "<tr>"; for($i=0;$i<count($arr)/2;$i++){ echo "<td>$arr[$i] </td>"; } echo "<tr>"; } echo "</table>"; ?> 6):數(shù)據(jù)庫(kù)中字符集的設(shè)置方法: 1). mysql_set_charset("gbk",$conn);設(shè)置字符集為gbk字符集。如果 不寫$conn,指的是設(shè)置的當(dāng)前資源的字符集 2).mysql_query("set names gbk",$conn); 通過(guò)執(zhí)行sql語(yǔ)句,設(shè)置 字符集為gbk字符集。如果不寫$conn,指的是設(shè)置的當(dāng)前資源的字符 集 7): mysql_num_rows($result):獲取查詢結(jié)果中的記錄數(shù)。 例題: <? $conn=mysql_connect("localhost","root","") or exit("連接數(shù) 據(jù)庫(kù)失敗~"); mysql_select_db("gdd"); $str="select * from user"; $result=mysql_query($str); echo "共有".mysql_num_rows($result)."條記錄<p>"; ?> 8):mysql_error():本函數(shù)可以得到 MySQL數(shù)據(jù)庫(kù)服務(wù)器的錯(cuò)誤信息。 例題: <? $conn=@mysql_connect("localhost","root",""); mysql_select_db("userf"); echo mysql_error($conn); ?> 9):setcookie(string name, string value, int expire, string path, string domain, int secure); 創(chuàng)建cookie ,本函式的參數(shù)除了 第一個(gè) name 之外,都可以省略。 文件操作: file_exists(path):判斷文件是否存在: path:文件的路徑,可以是絕對(duì)路徑,也可以是相對(duì)路徑。 例題: <? if(file_exists("cookie.php")){ echo "文件存在"; }else{ echo "文件不存在"; } ?> Fopen(filename,method):打開文件. Filename:文件的名字 Method:打開的方式 Method的幾種; r:只讀的方式打開文件 r+:讀寫的方式打開文件。 w:只寫方式打開文件。文件不存在創(chuàng)建文件。 w+:讀寫方式打開文件。文件不存在時(shí)創(chuàng)建文件。 a: 寫方式打開文件,指針指向文件尾,表示可以在文件中追加數(shù)據(jù),若文件不存在 則創(chuàng)建該文件 a+:讀寫方式打開文件指針指向文件尾,表示可以在文件中追加數(shù)據(jù),若文件不存在 則創(chuàng)建該文件 b:以二進(jìn)制方式打開文件 <? fopen("hello.txt","r"); //fopen("hello.txt","r+"); //fopen("hello.txt","w"); //fopen("hello.txt","w+"); //fopen("hello.txt","a"); //fopen("hello.txt","a+"); //fopen("hello.txt","b"); echo "文件被打開了"; ?> fwrite(resource,string);在打開的文件中添加指定的內(nèi)容。 Resource:打開的數(shù)據(jù)文件。 String:要添加的內(nèi)容。 <? $fp=fopen("hello.txt","w+"); for($i=0;$i<=10;$i++){ fwrite($fp,$i); } echo "文件被寫好了"; ?> Fclose(name);關(guān)閉打開的文件。 例題: <? $open=fopen("hello.txt","w+"); fclose($open); echo "操作成功~"; ?> Fgets(resouce);讀取一行的數(shù)據(jù) Resource:打開的文件。 例題: <? $open=fopen("hello.txt","r"); $fget=fgets($open,1024); echo $fget; ?> Readfile(path):讀取整個(gè)文件。 Path:文件的路徑,可以是絕對(duì)路徑,也可以是相對(duì)路徑。 函數(shù)的返回值是:文件的內(nèi)容和文件內(nèi)容的字節(jié)數(shù) 例題: <? echo readfile("hello.txt"); ?> Filsesize(path):取文件大小 Path:文件的路徑,可以是絕對(duì)路徑也可以是相對(duì)路徑。 函數(shù)的返回值是:文件的內(nèi)容的字節(jié)數(shù)。 例題: <? echo filesize("d:d.txt"); ?> Unlink(path);刪除文件。 Path:文件的路徑,可以是絕對(duì)的也可以是相對(duì)的。 函數(shù)的返回值類型是布爾類型的。 <? if(file_exists("hello.txt")){ if(unlink("hello.txt")) { echo "刪除成功~"; }else{ echo "刪除失敗~"; } }else{ echo "文件不存在~"; } ?> mkdir(name);創(chuàng)建目錄 name:目錄的名稱。 函數(shù)的返回值是布爾類型的。 例題: <? mkdir("www"); ?> Rmdir(name);刪除目錄 Name:刪除目錄。 函數(shù)的返回值類型是布爾類型。 <? if(rmdir("www")){ echo "刪除成功~"; }else{ echo "刪除失敗~"; } ?> basename(path);取得文件名。 Path:文件的路徑。這個(gè)參數(shù)只是一個(gè)字符串。不一定是存在的文件的路徑。 函數(shù)的返回值類型是文件的名字(帶有擴(kuò)展名) 例題: <? echo basename("c:wwwhello.txt"); ?> pathinfo(path):獲取路徑文件信息。 Path:文件的路徑。這個(gè)參數(shù)只是一個(gè)字符串。不一定是存在的文件的路徑。 函數(shù)的返回值類型是:數(shù)組。數(shù)組的下標(biāo)分別是:1.dirname:路徑 2.basename:文件的全名 3.文件的擴(kuò)展名:extension. 4.文件的名是:filename 例題: <? $fileinfo=pathinfo("c:wwwhello.txt"); print_r($fileinfo); exit(); echo "<br>路徑是:".$fileinfo['dirname'].'<br>'; echo "文件全名是:".$fileinfo['basename'].'<br>'; echo "擴(kuò)展名是:".$fileinfo['extension'].'<br>'; echo "文件名是:".$fileinfo['filename'].'<br>'; ?> Realpath(name);獲取絕對(duì)路徑 Name:文件的名字(實(shí)實(shí)在在存在的文件) 函數(shù)的返回值類型是:字符串類型的文件的絕對(duì)路徑 例題: <? echo realpath("hello.txt"); ?> Copy(path1,path2):復(fù)制文件。 Path1:被復(fù)制的文件的路徑,可以是絕對(duì)的也可以是相對(duì) Path2:要復(fù)制的文件的路徑,可以是絕對(duì)路徑也可以是相對(duì)路徑 例題: <? if(copy("hello.txt","d:a.txt")){ echo "復(fù)制成功~"; }else{ echo "復(fù)制失敗~"; } ?> Is_dir(path);判斷是不是目錄。 Path:目錄的路徑,可以是絕對(duì)的,也可以是相對(duì)的。 函數(shù)的返回值是布爾類型的。 例題: <? if(is_dir("uploads")){ echo "這是一個(gè)文件夾"; }else{ echo "這不是一個(gè)文件夾"; } ?> Opendir(path):打開目錄。 Path:目錄的路徑,可以是絕對(duì)的,也可以是相對(duì)的。 函數(shù)的返回值是布爾類型的。 例題: <? if(opendir("d:game")){ echo "文件夾被打開了"; }else{ echo "文件夾沒(méi)有別打開"; } ?> Readdir(resouse):讀取目錄。 resouse:被打開的目錄。 函數(shù)的返回值類型是布爾類型的。 <? $opendir=opendir("d:game"); if(readdir($opendir)){ echo "目錄被讀取"; }else{ echo "目錄沒(méi)有被讀取~"; } ?> Closedir(resouse);關(guān)閉目錄 Resouse:被打開的目錄 沒(méi)有返回值 例題: <? $opendir=opendir("d:game"); echo "目錄被打開了"; closedir($opendir); echo "目錄被關(guān)閉了"; ?> 正則表達(dá)式: 是一種可以永遠(yuǎn)模式匹配和替換的強(qiáng)有力的工具。 ^http:表示匹配以http開頭的所有字符 [a-z]匹配所有小寫字符 abc 匹配字符串a(chǎn)bc。 模式: 是正規(guī)表達(dá)式最基本的元素,它們是一組描述字符串特征的字符。 正則表達(dá)式匹配時(shí)用到的一個(gè)函數(shù)。 preg_match(match,str):進(jìn)行匹配的函數(shù) match:正則表達(dá)式的規(guī)則; str:要驗(yàn)證的字符串。 例題:(ip地址的驗(yàn)證) <? $str="172.18.88.114"; if(preg_match("/^(d{1,3}.){3}d{1,3}/",$str)){ echo "成功~"; }else{ echo "失敗"; } ?> 符號(hào) 意義 ^ 表示匹配的字符必須在最前端 $ 表示匹配的字符必須在最后端 * 匹配*前面的字符0次或多次 + 匹配+前面的字符1次或多次 ? 匹配,前面的字符0次或1次 . 匹配除換行符外的所有單個(gè)的字符 (x) 匹配?x?并記錄匹配的值 | 匹配|前面或者后面的字符 {n} 匹配前面的字符n次 {n,} 匹配前面的字符至少n次 {n,m} 匹配前面的字符n 到m次。 [] 匹配列出的字符串中的任意一個(gè)字符 [^] 不匹配列出的字符串中的任意一個(gè)字符 空格 匹配一個(gè)空格 預(yù)定義字符和字符類 字符 意義 d數(shù)字 表示匹配數(shù)字0-9中任一字符,功能類似[0-9] D非數(shù)字 表示匹配一個(gè)非數(shù)字,功能類似[^0-9] w字符 表示匹配一個(gè)單詞字符.功能類似[a-zA-Z0-9] W非字符 表示匹配一個(gè)非單詞字符 匹配一個(gè)單詞的分界線,比如一個(gè)空格 圖像: 函數(shù): Imagecreate(width,height):創(chuàng)建畫布: Width:畫布的寬度。 Height:畫布的高度。 Imagecolorallocate(resouse,R,G,B):定義顏色 Resouse: 畫布的變量。 R:red顏色的值。 G:green顏色的值。 B:blue顏色的值。 Imageline(resouse,startx,starty,endx,endy,color):畫一條直線 Resouse:畫布 Stratx:直線開始的橫坐標(biāo)。 Starty:直線開始的縱坐標(biāo). Endx: 直線結(jié)束的橫坐標(biāo)。 Endy:直線結(jié)束的縱坐標(biāo)。 Color:直線的顏色。 Imagearc(resouse,centerx,centery,width,height,start,end,color)畫一條弧 線。 Resouse;畫布。 Centerx:圓心的x坐標(biāo)。 Centery:圓心的y坐標(biāo)。 Width:畫成的圖像的寬度。 Height:畫成的圖像的高度。 Start:弧線開始的度數(shù) End:弧線結(jié)束的度數(shù)。 Imagestring(resouse,size,x,y,str,color):畫一個(gè)字符串。 Resouse:畫布。 Size:字符串的字體的大小 X:開始寫字符串的橫坐標(biāo) Y:開始寫字符串的縱坐標(biāo)。 Str:要畫的字符串。 Color:字符串的顏色。 例題: <?php header("Content-type:image/gif"); //發(fā)送的是http的頭的內(nèi)容 $im=imagecreate(400,300); //創(chuàng)建畫布 $black=imagecolorallocate($im,0,0,0); //定義顏色。四個(gè)參數(shù)分別是畫布,rgb的值 $red=imagecolorallocate($im,255,0,0); //定義一個(gè)紅色 $yellow=imagecolorallocate($im,255,255,128); imageline($im,1,1,350,25,$yellow); //六個(gè)參數(shù)分別是:畫布,線開始的橫坐標(biāo),線開始的橫坐標(biāo)線開始的橫坐標(biāo) imagearc($im,200,15,20,20,35,190,$red); //六個(gè)整形的參數(shù)分別是圓心的 imagestring($im,5,150,150,"Graph TEST!",$red); //三個(gè)整形的參數(shù)分別是字號(hào)和位置 imagestring($im,10,150,180,"wo shi gdd!",$red); //三個(gè)整形的參數(shù)分別是字號(hào)和位置 imagegif($im); imagedestroy($im); ?> array_unshift() //在數(shù)組的頭部添加元素,也就是把一個(gè)新的元素插入到數(shù)組,相應(yīng)索引還自動(dòng)改變 array_push() //在數(shù)組尾部添加元素 array_shift() //在數(shù)組頭部刪除元素 array_pop() //在數(shù)組尾部刪除元素
信息發(fā)布:廣州名易軟件有限公司 http://m.jetlc.com
|