php概述php
什麼是php,PHP語言的優點,PHP5的新特性,PHP的發展趨勢,PHP的應用領域。html
PHP是超文本預處理器,是一種服務器端,跨平臺,HTML嵌入式的腳本語言,具備c語言,Java語言,和Perl語言的特色,是一種被普遍應用的開源式的多用途腳本語言,適合web開發。mysql
PHP是b/s體系結構,屬於三層結構,PHP的好處,開發源代碼軟件,安全性高,跨平臺特性,支持普遍的數據庫,易學性,執行速度快,免費,模板化,支持面向對象與過程,內嵌zend加速引擎。程序員
PHP5的新特性,構造函數和析構函數,對象的引用,克隆,私有等,接口,抽象類,_call,_set,_get,靜態成員。web
PHP應用,中小型網站的開發,web管理系統,企業級應用開發,多媒體系統開發等。sql
PHP的擴展庫,內置標準擴展庫,PHP5,spl,sqlite,dom,mysql等,須要在php.ini文件來完成。shell
php.ini找.dll,全部擴展庫。數據庫
學習語言的方法,明確本身的學習目標和方向,紮實的基礎,多實踐,多思考,多請教等。apache
建立網站,明確網站主題,收集材料,規劃網站,製做網站,上傳,宣傳,維護。數組
PHP開發工具,dreamweaver,zendstudio,editplus2等。
使用appserv組合包,完成apache+mysql+php+phpmyadmin的安裝與配置。
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <html xmlns="http://www.w3.org/1999/xhtml"> <head> <meta http-equiv="Content-Type" content="text/html; charset=gb2312" /> <title>第一個PHP程序</title> </head> <body> <?php echo "Hello World!!!"; ?> </body> </html>
php的標記風格,註解分類,數據類型,常量,變量,運算符,表達式,函數,編碼規範
xml風格: <?php echo "dashucoding"; ?> 腳本風格: <script language="php"> echo "dashucoding"; </script> 簡短風格: <? echo 'dashucoding'; ?> asp風格: <% echo 'dashucoding'; %> 共4種
註解 // 單行註解 /**/ 多行註解 # shell風格的註解
php數據類型:標量數據類型,複合數據類型,特殊數據類型,轉換數據類型。
8種原始類型,分4中標量類型,boolean布爾型,integer整型,float/double浮點型,string字符串型;兩種複合類型,arrray數組,object對象;兩種特殊類型,resource資源,null。
標量數據類型是數據結構中最基本的單元,只能存儲一個數據,PHP標量數據類型有4種。
單引號和雙引號,雙引號能夠將變量自動替換成實際數值,而引號將變量按照普通字符串輸出。
定義字符串的三種方式:單引號,雙引號,界定符。
\n 換行 \r 回車 \t 水平製表符 \\ 反斜槓 \$ 美圓符號 \' 單引號 \'' 雙引號
界定符格式: $string = <<< str 輸出字符串 str; <?php echo <<< str 字符串 str; ?> 界定符中結束標識符必需要單獨另起一行,並不能夠用空格。
複合數據類型有 兩種,一種爲 數組,一種爲 對象。
$array = ('value1','value2',...); $array[key] = 'value'; $array = array(key1 => value1, key2 => value2 ...);
特殊數據類型包含 資源 和 空值 兩種。
資源是一種特殊的變量,可叫句柄,保存在外資源的一個引用,經過專門的函數來創建和使用,null爲特殊的值,表示變量沒有值。
使用資源類型時,系統會自動啓動垃圾回收機制,釋放再也不使用的資源。
空值出現的狀況,尚未賦值,被賦值爲null,被unset()函數處理過的變量。
轉換數據類型
boolean 轉換布爾型 null,0,和未賦值或數組爲false,false爲0,true爲1 string 轉換字符型 integer 轉換整型 float 轉換浮點型 array 轉換數組 object 轉換對象 settype()用於類型轉換,將指定的變量轉換爲指定的數據類型 bool settype(mixed var, string type) 第一個參數爲指定的變量,第二個參數爲指定的類型,參數type爲boolean,float,integer,array,object,null,string。
使用integer操做符可以能夠直接輸出轉換後的變量類型,使用settype()返回的是boolean類型。第一種原變量不會發生變化,第二種原變量被改變了。
檢測數據類型
is_bool檢測變量是不是布爾類型 is_string檢測變量是不是字符串類型 is_float/is_double 檢測變量是否爲浮點類型 is_null 檢測變量是否爲整數 is_array 檢測變量是否爲數組 is_object 檢測變量是對象類型 is_numeric 檢測變量是否爲數字 is_integer/is_int 檢測變量是否爲整數
php常量,聲明和使用常量,預約義常量
常量是不可變的值,被定義後,無論怎樣都不會被改變。
使用define()函數來定義常量
define(string constant_name, mixed value, case_sensitive = true) 函數定義一個常量 常量名稱, 常量值, 指定是否大小寫敏感 mixed constant(string const_name); 函數動態獲取常量的值,常量名直接獲取,另外一種爲constant() 判斷一個常量是否被定義: bool defined(string constant_name);
預約義常量
__FILE__ 文件名 __LINE__ 程序員行數 PHP_VERSION 程序的版本 PHP_OS 操做系統名稱 TRUE FALSE NULL E_ERROR E_WARNING E_PARSE E_NOTICE
php變量,聲明和使用變量,變量的做用域,可變變量,預約義變量
變量是在程序執行過程當中數值中能夠變化的量
php預約義變量
預約義變量能夠獲取用戶會話,用戶操做系統等信息。
$_SERVER['SERVER_ADDR'] 當前腳本所在的服務器的ip地址 $_SERVER['SERVER_NAME'] 服務器主機名 $_SERVER['REQUEST_METHOD'] 訪問頁面時的請求方法 $_SERVER['REMOTE_ADDR'] 正在瀏覽當前頁面用戶的IP地址 $_SERVER['REMOTE_HOST'] 正在瀏覽當前頁面用戶的主機名 $_SERVER['REMOTE_PORT'] 服務器使用的端口 $_SERVER['SCRIPT_FILENAME'] 當前執行腳本的絕對路徑名 $_SERVER['SERVER_PORT'] 服務器所使用的端口 $_SERVER['SERVER_SIGNATURE'] 服務器版本和虛擬主機名的字符串 $_SERVER['DOCUMENT_ROOT'] 當前運行腳本所在的文檔根目錄 $_COOKIE 經過HTTPCookie傳遞到腳本的信息 $_SESSION 包含與全部會話變量有關的信息 $GLOBALS 已定義全局變量組成的數組 $_POST 經過POST方法傳遞的參數的相關信息 $_GET 經過GET方法傳遞的參數的相關信息
php運算符
算術運算符,字符串運算符,賦值運算符,位運算符,邏輯運算符,比較運算符,錯誤控制運算符,三元運算符,優先級。
錯誤控制運算符
@用於對錯誤信息進行屏蔽而已
<?php $err = @(3/0); ?>
三元運算符-三目運算符
<?php $value=10; echo ($value == true)? dashu : dashucoding; ?>
php函數,定義和調用函數,函數間的傳遞參數,函數中返回值,變量函數,對函數的引用,取消引用。
定義和調用函數,將功能寫在代碼塊中:
function name($str1,...){ }
函數傳參,被傳入的參數爲實參,定義的參數爲形參。
參數傳遞有三種:
<?php function add($m){ $m = $m+1; echo "體內".$m; } $m=1; add($m); echo "體外".$m; ?> 結果, 函數內:$m爲2,體外爲1 傳引用 使用& <?php function add(&$m){ $m = $m+1; echo "體內".$m; } $m=1; add($m); echo "體外".$m; ?>
從函數中返回值return()。
變量函數,對函數的引用,取消引用。
<?php function &add($a=0){ return $a; } $str = &add('dashucoding'); echo $str; ?>
unset()函數取消引用,用於斷開變量名和變量內容之間的綁定,而不是銷燬變量的內容。
什麼是PHP編碼規範,書寫規則和命名規則
PHP的數據類型,常量,變量,運算符,表達式,自定義函數,數據類型之間的轉換,系統預約義常量,變量,運算符的優先級等。
if語句,if...else語句,elseif語句,switch...case語句
while循環,do...while循環,for循環,foreach循環,break/continue語句等。
break/continue語句,break關鍵字終止當前的循環,跳出多重循環,break $num; continue只是終止本次循環。
foreach($arr as $key => $value){ echo $key.'=>'; foreach($value as $va){ echo ' " '.$va.' " '; } echo '<br>'; }
字符串,單引號,雙引號,字符串鏈接符,字符串操做
字符串是由零個或多個字符組成的一個集合
單引號和雙引號的區別,單引號中的內容是隻能被做爲普通字符串處理,雙引號的做用能夠被解釋。sql查詢時,全部字符串都必須是單引號。
字符串操做:
trim()函數去除字符串左右兩邊的空格和特殊字符
ltrim()去除左邊的空格和特殊字符
rtrim()去除右邊的空格和特殊字符
string trim(string str [,string charlist]); string ltrim( string str [,string charlist]); String rtrim(string str [,string charlist]);
字符串的三種定義方法:
//轉義、還原字符串數據 addslashes()函數 string addslashes (string str) stripslashes()函數 string stripslashes(string str); addcslashes()函數 string addcslashes (string str, string charlist) stripcslashes()函數 string stripcslashes (string str) int strlen(string str) 獲取指定字符串str的長度 string substr ( string str, int start [, int length]) 截取字符串 比較字符串 strcmp()函數按照字節進行比較 strcmp()和strcasecmp() int strcmp ( string str1, string str2) strnatcmp()函數按照天然排序法進行比較 int strnatcmp ( string str1, string str2) strncmp()函數指定從源字符串的位置開始比較 int strncmp(string str1,string str2,int len)
查找字符串strstr()函數
string strstr(string haystack, string needle)
// strstr()函數獲取上傳圖片的後綴 <form method="post" action="index.php" enctype="multipart/form-data"> <input type="hidden" name="action" value="upload"/> <input type="file" name="u_file"/> <input type="submit" value="上傳"/> </form> <?php if($_POST[action] == "upload") { $file_path="./uploads\\"; $picture_name=$_FILES[u_file][name]; $picture_name=strstr($picture_name,"."); if($picture_name != ".jpg"){ echo"<script>alert();window.location.href="index.php";</script>"; }elseif($_FILES[u_file][tmp_name]{ move_uploaded_file(); }else echo""; } } ?>
<body> <center> <label>請選擇要上傳的圖片(圖片格式爲.jpg):</label> <form method="post" action="index.php" enctype="multipart/form-data"> <input type="hidden" name="action" value="upload" /> <input type="file" name="u_file"/> <input type="submit" value="上傳" /> </form> <?php if($_POST[action] == "upload"){ //判斷提交按鈕是否爲空 $file_path = "./uploads\\"; //定義圖片在服務器中的存儲位置 $picture_name=$_FILES[u_file][name]; //獲取上傳圖片的名稱 $picture_name=strstr($picture_name , "."); //經過strstr()函數截取上傳圖片的後綴 if($picture_name!= ".jpg"){ //根據後綴判斷上傳圖片的格式是否符合要求 echo "<script>alert('上傳圖片格式不正確,請從新上傳'); window.location.href='index.php';</script>"; }else if($_FILES[u_file][tmp_name]){ move_uploaded_file($_FILES[u_file][tmp_name],$file_path.$_FILES[u_file][name]); //執行圖片上傳 echo "圖片上傳成功!"; } else echo "上傳圖片失敗"; } ?> </center> </body>
substr_count()函數檢索字符串出現的次數
int substr_count(string haystack, string needle) <?php $str=""; echo substr_count($str,""); ?> 替換字符串 str_ireplace()函數使用新的字符串替換原始字符串中被指定要替換的字符串。 mixed str_ireplace(mixed search,mixed replace, mixed subject[,int &count]) substr_replace()函數 對指定字符串中的部分字符串進行替換 格式化字符串 string number_format(float number,[int num_decimal_places],[string dec_seperator],string thousands_ seperator) 分割字符串 array explode(string separator,string str,[int limit]) 合成字符串 string implode(string glue, array pieces)
<body> <?php $str="\r\r(:@_@ dashu @_@:) "; echo trim($str); echo "<br>"; echo trim($str,"\r\r(: :)"); ?> </body>
<?php $content = "北京,上海,天津,重慶,河北,山西,遼寧,吉林,黑龍江,江蘇,浙江,安徽,福建,江西,山東,河南,湖北,湖南,其餘"; $data=explode(",",$content); for($index=0;$index<count($data);$index++){ //數組循環 echo $data[$index]; echo "</br>"; } ?>
好了,歡迎在留言區留言,與你們分享你的經驗和心得。
感謝你學習今天的內容,若是你以爲這篇文章對你有幫助的話,也歡迎把它分享給更多的朋友,感謝。
感謝!承蒙關照!您真誠的讚揚是我前進的最大動力!