第一篇:php學(xué)習(xí)總結(jié)
調(diào)試/*………*/ //…….#..........插入時考慮清楚字段類型避免插入后出現(xiàn)缺值,亂碼
@ 屏蔽錯誤or die 條件顯示
以前學(xué)習(xí)php類的總結(jié):
1.php中不能重載,但是能用子類覆蓋父類的方法名稱來實現(xiàn)新的重載
1.1 在子類中調(diào)用父類的覆蓋部分可以使用 父類名稱::方法名稱();
2.final 只能定義類和方法,不能使用final定義成員屬性,因為final是常量的意思,在php里定義常量使用的是define函數(shù)
2.1 final關(guān)鍵字標(biāo)記的類不能被繼承
2.2 final關(guān)鍵字標(biāo)記的方法不能被子類重寫
3.const是一個定義常量的關(guān)鍵字,在php中定義常量使用的是define()函數(shù),但是在類里定義常量使用的是“const” 這個關(guān)鍵字
3.1在程序中不能修改它的值。
3.2 訪問const 修飾的成員屬性要使用類名,在本類的方法里使用“self”關(guān)鍵字,但不使用“$”符號,也不能使用對象來訪問。
4.static關(guān)鍵字可以描述類中的成員屬性和成員方法
4.1 static 的成員屬于類,而不屬于任何對象,4.2 static的成員是在類第一次被加載的時候分配的空間,其他類無法訪問的,只對類的實例共享,能一定程度對類該成員形成保護(hù)
4.3 靜態(tài)成員放到了“初始化靜態(tài)段”,在類第一次加載的時候放入的,可以讓堆內(nèi)存里的每個對象共享。所以在靜態(tài)方法里,可以使用這個方法所在的類的“類名”,也可以使用“self”來訪問其他靜態(tài)成員?!皊elf”代表這個靜態(tài)方法所在的類。
4.3.1 在類里的靜態(tài)方法是不能訪問類的非靜態(tài)成員的。
4.3.2 在類的非靜態(tài)方法里可以訪問靜態(tài)成員:”self:成員屬性“;
4.4類的靜態(tài)變量,非常類似全局變量,能夠被所有類的實例共享,類的靜態(tài)方法也是一樣,類似于全局函數(shù)。
4.5 在類內(nèi)函數(shù)訪問靜態(tài)變量時前面加self::靜態(tài)函數(shù)
4.6 靜態(tài)變量可以在類外直接訪問,訪問方法是類名::靜態(tài)變量
4.7 靜態(tài)函數(shù)可以在類外直接訪問,訪問方式是類名::靜態(tài)函數(shù)
4.8 在類內(nèi)靜態(tài)函數(shù)訪問另一個靜態(tài)函數(shù)時使用 類名::靜態(tài)函數(shù)名
4.8.1 靜態(tài)函數(shù)在類內(nèi)訪問靜態(tài)變量時,訪問方式是類名::靜態(tài)變量
4.8.2 靜態(tài)函數(shù)在類內(nèi)訪問靜態(tài)變量時,訪問方式除了是類名::靜態(tài)變量外,還可以使用self::靜態(tài)變量
4.9 在類內(nèi)靜態(tài)函數(shù)訪問另一個靜態(tài)函數(shù)時除了使用 類名::靜態(tài)函數(shù)名外,還可以使用self::靜態(tài)函數(shù)名,也可以直接調(diào)用靜態(tài)函數(shù)
4.10 靜態(tài)函數(shù)內(nèi)不能訪問非靜態(tài)變量
4.11 在類內(nèi)靜態(tài)函數(shù)不能使用$this->非靜態(tài)函數(shù)名訪問非靜態(tài)函數(shù),可以使用self::非靜態(tài)函數(shù)名
4.12
5.類里的”$this“,在php里面提供了一個本對象的引用$this,每個對象里面都有一個對象的引用$this來代表這個對象,完成對象內(nèi)部成員的調(diào)用。
5.1 $this 就是對象內(nèi)部代表這個對象的引用。
6.類里“self”,self 和$this相似,只不過self是代表這個靜態(tài)方法所在的類,所以在靜態(tài)方法里,可以使用這個方法所在的類的”類名“,也可以使用“self”來訪問其他的靜態(tài)成員,通常使用后者”self::成員屬性“。
7.類里”__“開頭的函數(shù)名
7.1類里”__“開頭的函數(shù)名都是在某一時刻不同情況下自動調(diào)用執(zhí)行的方法。
7.2__toString()方法也是自動被調(diào)用,是直接輸出對象引用時自動調(diào)用的。比如“$p = new Person()”,直接用echo輸出$p會產(chǎn)生錯誤,如果在類里定義了__toString()方法,再用echo直接輸出對象引用的時候就不會產(chǎn)生錯誤了
8.對象串行化
8.1 __sleep()方法,在對象串行化的時候,會調(diào)用一個__sleep()方法來完成一些睡前的事情,__sleep()函數(shù)不接受任何參數(shù),但返回一個數(shù)組,其中包含需要串行化的屬性。未被包含的屬性降在串行化時被忽略,如果沒有__sleep()方法,php將保存所以屬性.8.2 __wakeup()方法,在重新醒來時,即由二進(jìn)制串重新組成一個對象的時候,則會自動調(diào)用__wakeup(),做一些對象醒來就要做的動作。
8.3 有時你可能需要一個對象在反串行化后立即執(zhí)行.為了這樣的目的,PHP會自動尋找__sleep和__wakeup方法.9.protected 成員能被同個類中的所有方法和繼承出的類的中所有方法訪問到,不能被父類的實例直接訪問。protected and public 可以動態(tài)綁定
10.private 大部分private屬性仍然可以被外部代碼共享.解決方法是用一對public方法,一個是get(獲取屬性的值),另一個是set(設(shè)置屬性的值).10.1private 不可以動態(tài)綁定。Private成員只存在于它們所在的類內(nèi)部.不像public和protected成員那樣,PHP模擬靜態(tài)綁定.10.2 什么時候用到private?private成員只有當(dāng)你不想讓子類繼承改變或特殊化父類的行為時才用到,這種情況比你想像的要少,通常來說,一個好的對象分層結(jié)構(gòu)應(yīng)當(dāng)允許絕大多數(shù)功能被子類特殊化,改進(jìn),或改變—這是面向?qū)ο缶幊痰幕A(chǔ)之一。一定的情況下需要private方法或變量,例如當(dāng)你確信你不想允許子類改變父類中的某個特定的部份。
11.抽象類:抽象方法是就像子類中一般的方法的占位符(占個地方但不起作用),它與一般方法不同—沒有任何代碼.如果類中存在一個或更多抽象方法, 那么這個類就成了抽象類.你不能實例化抽象類.你必須繼承它們,然后實例化子類.你也可以把抽象類看成是子類的一個模板.如果你覆寫所有的抽象方法, 子類就變成一個普通的類.如果沒有覆寫所有方法, 子類仍是抽象的.如果一個類中中包含有抽象方法(哪怕只有一個), 你必須聲明這個類是抽象的, 在class關(guān)鍵字前加上abstract.聲明抽象方法的語法與聲明一般方法不同.抽象方法的沒有像一般方法那樣包含在大括號{}中的主體部份,并用分號;來結(jié)束.12.接口:如果你建立了一個只有抽象方法的類,你就定義了一個接口(interface).為了說明這種情況, PHP中有interface 和implements關(guān)鍵字.你可以用interface來代替抽象類, 用implements來代替extends來說明你的類定義或使用一個接口.例如, 你可以寫一個myClass implements myIterface.這兩種方法可以依個人偏愛來選擇.12.1 如果接口中出現(xiàn)非抽象方法.會報錯
12.2 接口中的方法默認(rèn)是public 型的.其它類型的修飾符,不能修飾接口中的抽象方法.12.3 即使接口中所有的方法都是抽象方法,也不能使用 abstract 修飾.也不能用final
12.4 即使接口中所有的方法都是抽象方法,在接口中,可以聲明靜態(tài)方法.12.5 在接口中可以有常量,e.g.:
interfaceUser{
const MAX_GRADE = 99;
function getName();
function setName($_name);
}
?>
13.Namespace關(guān)鍵字給一塊代碼命名.在這個代碼塊外部,腳本必須用操作符::加上命名空間的名稱來引用這個代碼塊.引用靜態(tài)的類成員也是用相同的方法.在命名空間內(nèi)代碼不需要聲明命名空間, 它本身就是默認(rèn)的.這種方法比添加前綴的方法好.你的代碼可由此變得更加緊湊和可讀.你可能想知道是否可以建立分層的(嵌套的)命名空間.答案是不可以.但你可以在命名空間名稱后加上冒號, 你可以再次調(diào)用在名稱中不包含冒號的變量,函數(shù)和類.命名空間允許存在冒號,只要不是第一個字符和最后一個字符或接著另一個冒號.命名空間的名稱中的冒號對于PHP來說沒有任何意義, 但如果你用他們來區(qū)分邏輯上的區(qū)塊, 他們可以很好地說明你的代碼中的父子(parent-child)關(guān)系.14.__toString()打印對象會調(diào)用它的__toString方法.15.不能實例化的類
//
//當(dāng)__construct()為public時可以實例化
class A{
private function __construct(){}
}
$a = new A();//fail
?>
15.1
//static的方法留給外部訪問.
class A{
private function __construct(){}
static function getClassA(){
return “這里是后門,可以通過這里進(jìn)入類內(nèi)部..”;
}
}
echo A::getClassA();
?>
15.2
//不能用new實例化的類.
//static的方法留給外部訪問.
//在方法內(nèi)部返回實例.
class A{
private function __construct(){
echo “this is construction
n”;
}
static function getClassA(){
$a = new A();
return $a;
}
}
// 看到這里確實返回的是 A 的實例.但不是同一個對象.$a1 = A::getClassA();
$a2 = A::getClassA();
echo “$a1 的類是 ”.get_class($a1).“ , $a2 是 ”.get_class($a1);if($a1 === $a2){
echo “
$a1 $a2 指向同一對象.”;
}else{
echo “
$a1 $a2 不是一個對象.”;
}
//this is construction
//this is construction
//$a1 的類是 A , $a2 是 A
//$a1 $a2 不是一個對象.?>
15.3
//不能用new實例化的類.
//static的方法留給外部訪問.
//在方法內(nèi)部返回實例.
//定義靜態(tài)屬性保證這個實例能被靜態(tài)方法調(diào)用.
//增加判斷部分.
class A{
private static $a = null;
private function __construct(){}
static function getClassA(){
if(null == self::$a){
self::$a = new A();
}
return self::$a;
}
}
// 看到這里確實返回的是 A 的實例.但不是同一個對象.$a1 = A::getClassA();
$a2 = A::getClassA();
echo “$a1 的類是 ”.get_class($a1).“ , $a2 是 ”.get_class($a1);if($a1 === $a2){
echo “
$a1 $a2 指向同一對象.”;
}else{
echo “
$a1 $a2 不是一個對象.”;
}
//$a1 的類是 A , $a2 是 A
//$a1 $a2 指向同一對象.?>
第二篇:PHP學(xué)習(xí)推薦
PHP學(xué)習(xí)推薦
PHP,是英文超級文本預(yù)處理語言Hypertext Preprocessor的縮寫。PHP 是一種 HTML 內(nèi)嵌式的語言,是一種在服務(wù)器端執(zhí)行的嵌入HTML文檔的腳本語言,現(xiàn)在越來越多的人加入到了php的大家庭中,其中很多人只是淺嘗輒止,為何會如此呢?最大的障礙莫過于學(xué)習(xí)的過程枯燥乏味,從而失去學(xué)習(xí)興趣,那么小編就自己的經(jīng)驗來說說怎樣學(xué)習(xí)php吧。
學(xué)習(xí)方法之視頻教程
相對于讀書來說,我更喜歡看視頻學(xué)習(xí),可能小編我對影像比文字記憶更加深刻吧。每看完一個視頻教程,我都會閉上眼睛休息一會,把剛才看的內(nèi)容消化消化,然后再開始練習(xí)剛才看過的內(nèi)容,盡可能不邊看邊做,因為這樣學(xué)的快同樣也忘得快,如果實在想不起來的話,可以再打開教程看一遍,切記不可囫圇吞棗,好高騖遠(yuǎn),要穩(wěn)扎穩(wěn)打,把你看過的教程切切實實的記在心里。只有一步一個腳印,你的學(xué)習(xí)之路才能走的更遠(yuǎn),否則的話,你走的越遠(yuǎn),越會覺的道路是如此艱辛,或許你就會放棄學(xué)習(xí)。那么都有哪些視頻教程能幫我們學(xué)習(xí)php呢,小編我就為大家介紹幾個吧:
php100
LAMP兄弟連
李炎恢的php
學(xué)習(xí)方法之看書: 1.《PHP與MySQL程序設(shè)計(第4版)》
2.《PHP Web 2.0 開發(fā)實戰(zhàn)》
3.《PHP高級程序設(shè)計:模式、框架與測試》
4.《PHP 5 高級應(yīng)用開發(fā)實踐》
5.《細(xì)說php》
學(xué)習(xí)過程中不要死記語法,要多動手,多練習(xí),當(dāng)你遇到問題的時候,首先嘗試自己解決。多用google,baidu,網(wǎng)絡(luò)是一個大知識庫,是最好的老師,你遇到的問題,別人也遇到過,多去搜索一下吧.多閱讀別人的源代碼,要看懂別人的設(shè)計思想,不斷融為已用.
第三篇:PHP學(xué)習(xí)總結(jié)的一些經(jīng)驗
其實我也是一樣很新的新手,上PHP100學(xué)習(xí)視頻并在論壇里學(xué)習(xí)其實也就是一個月前的事.雖然早在8月份花過一個星期看完w3school的PHP教 程,了解了許多PHP知識.但始終是缺乏一個與眾多朋友學(xué)習(xí)和交流的平臺,所以一下子在幾周后又把PHP又忘得七七八八了,有幸在10月尾了解到了 PHP100視頻和論壇,不僅可以系統(tǒng)地學(xué)習(xí)下PHP,更可以和很多朋友一起學(xué)習(xí)成長這更是件好事.在php100視頻中學(xué)到了許多,而 論壇中看帖和回帖也更讓我鞏固了學(xué)習(xí)的知識并讓我學(xué)到了很多,這不僅不會讓我又把PHP知識快速忘記(因為工作中用是ASP,而PHP不會在工作中用,所 以忘得快),反而在取得進(jìn)步的同時,我也能幫助一些人,這也是一樣是學(xué)習(xí)勝利的過程,我喜歡并享受其中.以下是我上論壇以來的回復(fù)總結(jié),將不斷持續(xù)總結(jié).希望有利于與我一樣的新手一起成長.首先來個,題前語:
任何的學(xué)習(xí),都需要自信,再新的新手也應(yīng)該拋棄心中的恐懼,有時關(guān)鍵在于你心平下來,踏入學(xué)習(xí)后,你將慢慢化開迷惑,獲得信心,贏取自信!讓我們共同進(jìn)步.----------
==========
Undefined index問題
是運行的時候出現(xiàn)類似:Notice: Undefined index: action in D:wamp004km.cn/read.php?tid=15843&page=1#138857
是 php 配置的事情
這個錯誤是因為 php 頁面中的變量沒有初始化而導(dǎo)致的!
可以通過設(shè)置PHP.INI搞好,也可以在變量前面 加上一個 @ 就可以解決這個地方的問題了!
如這里指示第三行
Notice: Undefined index: action in D:wamp004km.cn/2009/0617/6463.php
----------
==========
遇到頁面明確提示你錯誤的,并有顯示如何錯的,建議先把語句復(fù)制部分重點詞句或全部語句到百度或
google,更快速讓在你排查錯誤找到方法.其實這也是一種高效有益的學(xué)習(xí)方法,畢竟在工作中,遇到些沒
遇過的新問題,有時都需要借助網(wǎng)上的資源給自己靈感和助力,本人就一天不下幾十次用百度搜索.如程序中遇到諸如含提示:
顯示的錯誤為:
Parse error: syntax error, unexpected $end in D:wampwwwtestlist.php on line 21
那么你就可以把 syntax error, unexpected $end 作為關(guān)鍵詞到百度搜索,那么你即刻可以得到助力甚
至答案.以上那句舉例的錯誤是因為:短標(biāo)簽沒有打開.解決方法是打開php.ini把short_open_tag短標(biāo)簽
打開,重啟服務(wù)即可
----------
==========
提示的時候,有時順便把代碼帖上帖子是必要的,這樣才能快速地在別人的幫助下問題得到解決
----------
==========
對單引號和雙引號有迷惑,大家可以看這篇文章解下惑:
----------
==========
在調(diào)試程序時,經(jīng)常要用到echo 你的sql語句來,檢查傳值后,sql變成了什么樣的情況,以便排查錯誤.----------
==========
向數(shù)據(jù)庫表插入數(shù)據(jù)
INSERT INTO 語句用于向數(shù)據(jù)庫表添加新紀(jì)錄。
語法
INSERT INTO table_name VALUES(value1, value2,....)--此種情況是需要按你表中所有字段的順
序全部value填上!
您還可以規(guī)定希望在其中插入數(shù)據(jù)的列:
INSERT INTO table_name(column1, column2,...)VALUES(value1, value2,....)--張老師明確建
議用此種方法!
----------
==========
有人疑惑,$_POST或$GET取得時的引號問題:其實是要不要引號,單引號或雙引號都是沒有問題的.如, $_POST[name]和$_POST['name']和$_POST[“name”]都是在windows下一樣的,在linux下情況具體沒
用過,不知道,還望高手告知.----------
==========
針對多數(shù)人的留言板課程中許多問題(如,insert into存不進(jìn)數(shù)據(jù)問題)的總結(jié):
1.檢查你數(shù)據(jù)庫表的結(jié)構(gòu)是否正確,如id是否設(shè)為自增
2.insert into語句是否正確,如單詞是否正確,insert into...values...3.是否將`(反斜點,在1鍵前)號和'(引號)是否使用位置正確,正確的方法是:`應(yīng)該放在表和字段邊,而'
是放在字符串型(或者說是非數(shù)字型)的值邊上
4.檢查你的各語句,是否在結(jié)尾將分號(;)正確結(jié)束
5.檢查你的submit表單項的name值是否你判斷的取值,如
value=“提交”>時,你的判斷是否提交應(yīng)是 if($_POST[submit]){...};當(dāng)你的是
type=“submit” name=“othername” value=“提交”>時,你的判斷是否提交應(yīng)是 if($_POST
[othername]){...}
6.檢查你的$_POST是否大寫,當(dāng)你寫成$_post是不行的,因為$_GET,$_POST等,都是PHP系統(tǒng)環(huán)境的硬性用
法
7.用echo 輸出你的sql檢查傳值情況
8.檢查你的短標(biāo)簽是否打開
9.注意你的method是get還是post
10.檢查你的表單相關(guān)單詞或引號是否書寫正確.很多莫名其妙的問題,多是細(xì)節(jié)問題.要小心查對才能看
出來.----------
sql語句中表名和字段名在windows的情況下是可以不加小斜點(鍵盤左上角1鍵前的那個點鍵)的,但聽說
在linux中不加會引出些問題,兼容的寫法是有小斜點.如:windows下:
$sql=“select * from table ”
和
$sql=“select * from `table` ”
是效果一樣的再次重點提示是:
`(反斜點,在1鍵前)號和'(引號)使用位置,正確的方法是:`應(yīng)該放在表和字段邊,而'是放在字符串型(或
者說是非數(shù)字型)的值邊
----------
==========
php100第十三講的page.PHP中的翻頁顯示信息有問題的解決方法:
因為頁面沒有取值到URL值的page,所以在函數(shù)內(nèi)的page會一直是1,所以會一直是第1頁的數(shù)據(jù)
解決方法,就是在調(diào)用函數(shù)前把page取得就好了!函數(shù)里會把取到的page值作為全局變量傳入函數(shù)使用的了!
include(“conn.php”);
$nump=mysql_query(“SELECT * FROM `test`”);
$total=mysql_num_rows($nump);
//調(diào)用pageft(),每頁顯示10條信息(使用默認(rèn)的20時,可以省略此參數(shù)),使用本頁URL(默認(rèn),所
以省略掉)。
$page=$_GET[page];//------------------------------在這里加入這行就OK了!
_PAGEFT($total,5);
echo $pagenav;
$query=mysql_query(“SELECT * FROM `test` limit $firstcount,$displaypg ”);//---見下面 while($row=mysql_fetch_array($query)){
echo “
”.$row[name].“ | ”.$row[sex];
}
以上的調(diào)試方法,其實你只要學(xué)下張老師把sql語句輸出來看下,你就知道是怎么回事了!
echo $sql=“SELECT * FROM `test` limit $firstcount,$displaypg ”;
$result=mysql_query($sql);
----------
==========
分頁有問題的朋友,不妨看下如下:
關(guān)于分頁,這有一篇論壇朋友的學(xué)習(xí)心得,學(xué)習(xí)下,你也許有所得:
另有一篇本人轉(zhuǎn)發(fā)上去的分頁講解:
----------
==========
關(guān)于:mysql_fetch_array
mysql_fetch_array 調(diào)用一次會把指針指向的記錄放入數(shù)據(jù),并指向下一條記錄
======================....回復(fù)的太多了,總結(jié)又需較多時間,暫時總結(jié)到此,總結(jié)未完,待續(xù).....
第四篇:php mysql學(xué)習(xí)總結(jié)剖析
php 字符串
反引號里面的字符必須是命令 如`pwd` 是查看當(dāng)前目錄
轉(zhuǎn)移字符:
符號
含義
”
雙引號
反斜線
n
換行
t
跳位(Tab)
常量和變量 _FILE_ 這個默認(rèn)常量是php程序文件名 _LINE_ 這個默認(rèn)常量是php程序行數(shù) E_ERROR 這個常量指到最近的錯誤處 E_WARNING 這個常量指到最近的警告處 E_PARSE 本常量為解析語法有何潛在問題處 自定義常量define(“
“,”
“);第一空格為常量,第二個為定義 或
define(‘
‘,);同上
有$為變量,無為常量 object為類變量,如 class foo{ function do-foo(){ echo”Doing foo”;} } $bar=new foo;
//建立變量,其他語言有(),php語言沒有。// $bar->do-foo();
//調(diào)用變量的方式。//->為調(diào)用類函數(shù)用的符號
變量區(qū)分大小寫
Php變量可以不用定義直接使用。局部變量和全局變量的區(qū)別見第二章,第21分鐘處圖。
全局變量必須用$GLOBALS數(shù)組和global聲明。配置文件的globals函數(shù)須打開
是什么????
$PHP_SELF
//php文件名,全局變量 echo $GLOBALS[“PHP_SELF”];或 globals $PHP_SELF;不能echo $PHP_SELF;
函數(shù)不區(qū)分大小寫
靜態(tài)變量static variable
老語法$foo直接用
新語法$_GET[‘foo’]
$_POST[‘foo’]
$_SESSION[‘foo’]
位運算符:
&與
|或
~非
^異或
<< 向左移位乘法
>> 向右移位除法 邏輯運算:
&& 而且AND
||或者OR
Xor異或
!不Not
符號
意義 $
變量
&
變量的地址(加在變量前)->
類的方法或?qū)傩?=>
數(shù)組的元素值
? :
三元運算符
數(shù)組
數(shù)組的下標(biāo)可以是整數(shù),也可以是字符串
如$user[0]=”張三”;
$user[‘zs’]=”張三”;
$user[“zs”]=”張三”;或$user=array(“張三”,//下標(biāo)0
echo $user[0];‘is’=>”李四”,//下標(biāo)is
echo $user[is];或echo $user[‘is’];“ww”=>”王五”
//下標(biāo)ww);
echo sizeof($user);
//記錄數(shù)
多維數(shù)組 $user=array(array(‘張三’,88), array(‘李四’,95), array(‘王五’,99));函數(shù)
函數(shù)不區(qū)分大小寫 函數(shù)原型:
返回類型 函數(shù)名稱(類型 參數(shù)1, 類型 參數(shù)2…..);
數(shù)學(xué)函數(shù)
number abs(number)取絕對值|x| float sin(float)
正弦計算sin(x)float cos(float)
余弦計算cos(x)float sqrt(float)
開平方根計算 float log(float)
自然對數(shù)計算lnx float log10(float)
lgx float exp(float)
e的x次方
float pow(float x,float y)
x的y次方
double pi()
圓周率
void srand(int)
配置隨機(jī)種子
int rand([int min],[int max])
取得隨機(jī)數(shù)
string strtolower(string str)
字符串全轉(zhuǎn)為小寫 string strtoupper(string str)
字符串全轉(zhuǎn)換為大寫 string trim(string str)
截去字符串首尾的空格 string substr(stringstring,int start,int[length])
取子串
下標(biāo)從0開始。從第start位取出length個字符,start為負(fù)數(shù),從尾端算起,length為負(fù)數(shù)表示取倒數(shù)length個字符。第三章第七分鐘 int strlen(string str)取得字符串長度
int strpos(string母串,string待查字符,int[offset])
尋找字符串中的某個字符最先出處 int strcmp(string str1,string str2)字符串比較
string md5(string str)計算字符串的MD5哈希值 fopen(“C: mpa.txt”,”r”);fopen(http://004km.cnmit
//提交,缺省自動提交 set autocommit=0
//取消自動提交 rollback
//回滾
事物可以用start transaction定義
有些語句自動提交,無法回滾,如DDL語句 save point //回滾點 鎖
lock tables 表名[read][write], 表名[read][write],… 解鎖
unlock tables
fulltext(title,body)
//在標(biāo)題和主體上建立全文索引
select * from articles where match(title,match)against(‘database’);
select * from articles where match(title,match)
against(‘+mysql-yoursql’ in boolean mode);
包含mysql不包含yoursql 邏輯全文索引 against:匹配串:
apple banana
//找至少包含上面詞中的一個的記錄行 +apple+juice
//兩個詞均被包含在內(nèi)
+apple macintosh
//包含詞”apple”,但是如果同時包含”macintosh”,它的排列將更高一點 + apple-macintosh
//包含”apple”但不包含” macintosh”
“some words”
//可以包含”some words of wisdom”但不是”some noice words”
grant
//授權(quán)
grant select,insert,update,delete on *.* to ‘test_user’@’%’ identified by ‘123’;%
//任何主機(jī)
*.*
//任何數(shù)據(jù)庫上的任何對象,*表示任何 123
//密碼
test_user
//用戶名
grant all privileges on *.* to admin@localhost identified by ‘123’ with grant option;
//創(chuàng)建本地的完全超級用戶”admin,口令’123’” all privileges //完全的權(quán)限
with grant option
//授權(quán)給其他用戶
刪除用戶
revoke all on *.* from ‘test_user’@ localhost;revoke all
//收回所有權(quán)限 flush privileges
//刷新內(nèi)存授權(quán)表
delete from user where user=’test_user’;
// 刪除用戶
delete from user where host=’localhost’ and user=’’;
//刪除匿名用戶
mysqladmin-uroot password 123
//添加密碼123 mysqladmin –uroot-p123 password 456
或
set password for root=password(“456”);
或
update user set password=password(‘456’)where user=’root’;
//再改密碼為456 mysqladmin –uroot –p456 password’’
optimize table 表1,表2…;
//mysql優(yōu)化
load data infile ‘路徑’ into table teacher;
或 mysqlimport school 路徑(如C:/a/b.txt)
//導(dǎo)入
mysqldump –opt school > school_2004_9.sql
//將數(shù)據(jù)庫school中的表全備份到school_2004_9.sql文本文件
mysqldump –opt school teacher student > school_2004_9.sql //僅備份表teacher和student mysqldump –databases school test > school_2004_9.sql
//備份多個數(shù)據(jù)庫
source school_2004_9.sql;
//從備份文件恢復(fù)數(shù)據(jù)
select * from emp limit(2,5);
//查第3到第7號員工的信息
select * from emp order by sal limit 0,5;= select * from emp order by sal limit 5;
mysql_data_seek(resource,int row_number)將指定的結(jié)果標(biāo)識所關(guān)聯(lián)的mysql結(jié)果內(nèi)部的行指針移動到指定的行號。接著用 mysql_fetch_row()將返回那一行,row_num從0開始
if(!($supername==$supervisor)||!($superpass==$superpsw))//如果用戶名和密碼有一個錯
action='$php_self’
//自身執(zhí)行
相對路徑是:../(表示當(dāng)前文件的上一級目錄);../../(表示當(dāng)前文件的上一級目錄的再上一級目錄);./(表是當(dāng)前目錄);/(表示根目錄)
$result=mysql_query(“update vote set $select_result='{$number}',total='{$total}' where id=$id”,$db);//當(dāng)用$select_result表示某個字段(如result1到result9)傳遞$number,值等可用此表示法(當(dāng)字段為變量)
路徑:
$tempdir = str_replace(“",”/“,substr(dirname(__FILE__),0,-6));//這樣做可以避免在虛擬空間站找不到路徑的問題,require $tempdir.”/include/config.inc.php";
解決亂碼
1選定代碼片段
2選定修改----頁面屬性----標(biāo)題/編碼 3選擇編碼類型
4重新載入(這步不能?。?/p>
不懂 可直接用教程中文件名直接在百度提問,肯定有人和我學(xué)一樣的東西
第五篇:快速學(xué)習(xí)php
Php參考手冊介紹
html css 試題
試題1: 請編寫如下一個html頁面
試題2: 請使用(div+css)盒子經(jīng)典布局編寫如下界面
試題3: 請使用div+css 盒子布局模式編寫sohu首頁面布局
javascript試題
試題1:
請按下面內(nèi)容編寫一個頁面,點頁面里的“全選”時,能選中或清除上面的所有水果。選擇你喜歡的水果:
□蘋果
□桔子
□香蕉
□葡萄
□桃子
□全選/全不選
試題2: 編寫一個簡單顯示和隱藏效果如圖所示:
試題3:
請使用javascript相關(guān)函數(shù)對一個url【http://004km.cn
(2)PHP函數(shù)
PHP函數(shù)的基本介紹、如何自定義函數(shù)、PHP頁面調(diào)用函數(shù)、require()、require_once()、include()和include_once()的區(qū)別、從內(nèi)存分析PHP函數(shù)調(diào)用過程、函數(shù)使用需要注意的細(xì)節(jié)、函數(shù)值傳遞和引用傳遞的區(qū)別。
函數(shù)是我們PHP編程最重要的一個知識點,也是進(jìn)行模塊化編程的基礎(chǔ),掌握好函數(shù)可以提高代碼的復(fù)用性、可讀性和可維護(hù)性。
(3)數(shù)組、排序和查找
數(shù)組的基本概念、數(shù)組的引用方式、數(shù)組引用陷阱、與PHP數(shù)組相關(guān)的函數(shù)(count、is_array、print_r、explode等)遍歷數(shù)組的三種方式、刪除數(shù)組元素和數(shù)組運算符、數(shù)組使用細(xì)節(jié)總結(jié)、內(nèi)部排序法和外部排序法介紹、冒泡排序和快速排序、選擇排序和插入排序、順序查找和二分查找、二維數(shù)組介紹和使用。
依據(jù)我的經(jīng)驗,我們?nèi)フ夜ぷ鞯臅r候,一定會一道關(guān)于排序和查詢的題,最常見的問題是: 請你寫出冒泡排序法,并使用二分查找來查找一個數(shù)。在項目開發(fā)中,數(shù)組是銜接變量和函數(shù)的重要數(shù)據(jù)類型,在MVC開發(fā)中,往往需在控制器中將數(shù)組分配給視圖去顯示,在算法中,數(shù)組也是變化最為靈活的。
(4)面向?qū)ο缶幊?/p>
面向?qū)ο缶幊袒靖拍?、類和對象的關(guān)系、如何定義類、成員屬性(變量)、如何創(chuàng)建對象實例及如何訪問對象屬性、對象在內(nèi)存中存在的形式、棧、堆、全局區(qū)、常量區(qū)和代碼區(qū)的關(guān)系、成員方法(函數(shù))及使用細(xì)節(jié)、構(gòu)造方法(函數(shù))、默認(rèn)構(gòu)造方法(函數(shù))、this的基本概念和使用、析構(gòu)方法(函數(shù))、PHP的對象垃圾回收器、靜態(tài)變量(類變量)的概念和使用、靜態(tài)方法(類方法)的概念和使用、面向?qū)ο缶幊痰娜筇卣鹘榻B、面向?qū)ο缶幊?封裝、面向?qū)ο缶幊?繼承、面向?qū)ο缶幊?多態(tài)、訪問控制修飾符(public、protected、private)、方法重載(overload)、方法重寫(override)、方法重載(overload)和方法重寫(override)的比較、PHP魔術(shù)函數(shù)(__set __get __construct __destruct __call等)和魔術(shù)常量(__LINE__ , __FILE__ ,__FUNCTION__等)、抽象類(abstract class)的概念和使用接口(interface)的概念和使用、接口編程和繼承的區(qū)別、關(guān)鍵字final的使用、常量關(guān)鍵字const 的作用和使用注意事項、面向?qū)ο缶幊讨畯姶蟮姆瓷錂C(jī)制、面向?qū)ο缶幊讨畡討B(tài)代理。
面向?qū)ο缶幊桃呀?jīng)成為PHP編程的主流,面向?qū)ο缶幊套尦绦蜃兊酶訌姶蠛挽`活,更利于項目的開發(fā)和維護(hù)。關(guān)于面向?qū)ο缶幊?在 傳智播客 php視頻教程 61講-78講,看看什么才是真正的PHP面向?qū)ο笏枷?,什么是真正的OOP。
(5)錯誤處理和異常處理
錯誤處理的基本概念、PHP處理錯誤的三種方式介紹、使用die()進(jìn)程錯誤處理、自定義錯誤和錯誤觸發(fā)器、錯誤日志、錯誤級別介紹、PHP異常處理的基本介紹、PHP異常處理(try throw catch)、自定義異常、如何設(shè)置頂級異常處理器、異常使用的規(guī)則。
在編寫php web 應(yīng)用程序時,錯誤處理是一個重要的部分。如果您的代碼缺少錯誤檢測編碼,那么程序看上去很不專業(yè),也為安全風(fēng)險敞開了大門。所以大家需要清楚在PHP編程中如何對錯誤和異常進(jìn)行有效的處理,從而保證程序的安全和健壯。
(6)預(yù)定義超全局?jǐn)?shù)組
預(yù)定義超全局?jǐn)?shù)組-基本概念、$_GET、$_POST、$_REQUEST、$_SERVER、$_ENV、$_FILES、$_COOKIE、$_SESSION、$GLOBALS、$_GET 使用陷阱(sql注入和中文亂碼問題)(7)cookie和session 什么是會話、cookie的基本概念、cookie的curd操作、cookie重要的api介紹、cookie運行原理圖解、cookie的實際運用(顯示用戶上次訪問時間、顯示用戶上次瀏覽過的商品、)、cookie使用的注意事項、session數(shù)據(jù)存放的位置和形式、session的curd操作、session運行原理圖解、session實際案例-在線購物車、IE禁用Cookie后的session處理方案、session防止用戶非法入侵、session配合驗證碼使用、php.ini 中關(guān)于cookie和session配置說明(重點,難點)、自定義會話處理器、Session和Cookie的區(qū)別。
Cookie(小甜餅)是客戶端技術(shù),服務(wù)器把每個用戶的數(shù)據(jù)以cookie的形式 寫給用戶各自的瀏覽器。當(dāng)用戶使用瀏覽器再去訪問服務(wù)器中的web資源時,就會帶著各自的數(shù)據(jù)去。
Session是服務(wù)器端技術(shù),利用這個技術(shù),服務(wù)器在運行時可以為每一個用 戶的瀏覽器創(chuàng)建一個其獨享的session文件,當(dāng)用戶再去訪問服務(wù)器中的其它web資源時,可以從用戶各自的session 中取出數(shù)據(jù)為用戶服務(wù)。Session和Cookie是最重要的用戶行為跟蹤技術(shù),尤其是電商,sns項目中運用廣泛,因此是我們學(xué)習(xí)的重點和難點,也是面試筆試的重點。關(guān)于cookie和session大家可以參考傳智播客 php視頻教程 114-121講
(8)PHP文件編程
文件及文件編程是什么、文件流的基本概念、文件的操作方式、PHP文件編程函數(shù)匯總介紹、最常用的13個文件函數(shù)、使用文件完成網(wǎng)站計數(shù)器、文件上傳下載操作-mini版音樂共享網(wǎng)、無限級文件掃描器。
文件最主要的作用就是保存數(shù)據(jù),它既可以保存一張圖片,也可以保存視頻 ,聲音...,本章節(jié)要求同學(xué)們掌握文件的各種操作和上傳下載,動態(tài)創(chuàng)建和刪除目錄,文件和無限級掃描文件等,掌握好這些知識點對我們項目開發(fā)非常重要。
(9)PHP繪圖技術(shù)
php繪圖坐標(biāo)系、繪圖步驟說明、繪圖快速入門、繪圖最常用的函數(shù)、繪圖技術(shù)的實際運用—人口分布餅狀統(tǒng)計圖、專業(yè)的報表開發(fā)--JpGraph、JpGraph的安裝和配置、JpGraph實際應(yīng)用-網(wǎng)民支持情況統(tǒng)計圖、JpGraph中文亂碼處理。
如果你使用過財務(wù)軟件,那你一定看見過各種對財務(wù)數(shù)據(jù)進(jìn)行統(tǒng)計和分析 的圖表,可能是表格,也可能是餅狀圖、柱狀圖、曲線圖..,簡單的說,就是使用圖表動態(tài)顯示數(shù)據(jù)。而這些圖表的顯 示都要使用到PHP的繪圖技術(shù),繪圖技術(shù)要求熟練的使用PHP的繪圖函數(shù)完成項目的需求。能開發(fā)一些統(tǒng)計圖,非常有實用價值。比如:
推薦學(xué)習(xí)傳智播客 php視頻教程
下載地址 http://php.itcast.cn
如何檢驗自己的學(xué)習(xí)效果,看看下面的一些面試題 , 看看能完成多少? 如果能正確完成80%,說明這個階段學(xué)到還不錯。
練習(xí)1: 簡述echo(),print(),print_r()的區(qū)別?
練習(xí)2: 說出PHP的超級全局變量數(shù)組,共九種
練習(xí)3: 如何在一個php函數(shù)中使用具有全局屬性的變量,說出兩種方式
練習(xí)4: 三個小題: 4.1.跳水比賽,8個評委打分。運動員的成績是8個成績?nèi)〉粢粋€最高分,去掉一個最低分,剩下的6個分?jǐn)?shù)的平均分就是最后得分。使用一維數(shù)組實現(xiàn)打分功能。
4.2.請把打最高分的評委和最低分的評委找出來。4.3.找出最佳評委和最差評委。最佳評委就是打分和最后得分最接近的評委。最差評委就是打分和最后得分相差最大的。
練習(xí)5: include和require都能把另外一個文件包含到當(dāng)前文件中,他們有什么區(qū)別?Include和include_once又有什么區(qū)別?
練習(xí)6: 寫出一個能創(chuàng)建多級目錄的PHP函數(shù)
練習(xí)7: 寫出一個函數(shù),能遞歸列出某個目錄下的所有文件夾和文件名.練習(xí)8: 在防止SQL注入的時候,通、會把單引號、雙引號等轉(zhuǎn)義,需要用到哪個函數(shù) 練習(xí)9: 寫出插入排序法和快速排序法代碼
練習(xí)10: 二分查找的原理是什么? 請寫出二分查找函數(shù)
練習(xí)11: 寫出php的public、protected、private三種訪問控制模式的區(qū)別 練習(xí)12: 請寫出一個完整的嚴(yán)謹(jǐn)?shù)膯卫J?/p>
練習(xí)13: __set 和 __get 魔術(shù)函數(shù)是做什么的,在什么時候被觸發(fā) 練習(xí)14: 如何防止對象克隆, 對象克隆會復(fù)制 static屬性嗎? 練習(xí)15: 說說strip_tags的作用和用法?
練習(xí)16: 如果需要原樣輸出用戶輸入的內(nèi)容,在數(shù)據(jù)入庫前,要用哪個函數(shù)處理? 練習(xí)17: 如何控制多個進(jìn)程去并發(fā)刪除,插入和更新數(shù)據(jù)庫的某張表? 練習(xí)18: PHP的安全模式和非安全模式的區(qū)別
(轉(zhuǎn)載請注明 傳智播客php學(xué)院-韓順平http://php.itcast.cn)
當(dāng)然,有些學(xué)員還給我寫信說這樣一個問題,如何去檢驗第一階段: PHP前端網(wǎng)頁開發(fā)基礎(chǔ),學(xué)習(xí)情況, 學(xué)習(xí)到怎樣的水平,再學(xué)習(xí)下一個階段比較好, 大家可以做一下下面的測試題,如果你能將下面的題都完成,說明你已經(jīng)有一定基礎(chǔ),可以學(xué)習(xí)下一個階段:(注意:需要獨立完成)
html css 試題
試題1:
請編寫如下一個html頁面
試題2:
請使用(div+css)盒子經(jīng)典布局編寫如下界面
試題3:
請使用div+css 盒子布局模式編寫sohu首頁面布局
javascript試題
試題1:
請按下面內(nèi)容編寫一個頁面,點頁面里的“全選”時,能選中或清除上面的所有水果。選擇你喜歡的水果:
□蘋果
□桔子
□香蕉
□葡萄
□桃子
□全選/全不選
試題2: 編寫一個簡單顯示和隱藏效果如圖所示:
試題3:
請使用javascript相關(guān)函數(shù)對一個url 【http://004km.cn、163.com 等)
練習(xí)5:計算一個js整數(shù)數(shù)組的所有元素的和。
練習(xí)6:計算一個字符串 , 比如 “abcde中國,你好hello,12345”, 中含有多少個中文字,多少個字母,多少個數(shù)字?
練習(xí)7:將一個js字符串?dāng)?shù)組的元素的順序進(jìn)行反轉(zhuǎn)。(“3”,“a”,“8”,“haha”)轉(zhuǎn)換為(“haha”,“8”,“a”,“3”)。提示:第i個和第length-i-1個進(jìn)行交換。不能使用js的reverse()函數(shù)。
好,現(xiàn)在我們談?wù)劦诙€階段應(yīng)該學(xué)習(xí)什么內(nèi)容,如何學(xué)習(xí)的問題。第二階段 PHP核心編程
(1)PHP基本語法加強 Apache--directory配置段、一個IP和多個域名綁定的兩種方式、HTTP協(xié)議入門介紹、Apache邏輯組件介紹、Apache生命周期、PHP運行之時序圖、PHP數(shù)據(jù)類型加強、PHP各種運算符加強、PHP三大流程控制加強、位運算(按位與、按位或、按位異或、按位非、位左移、位右移)、二進(jìn)制(原碼、反碼、補碼)、PHP版本在線貸款計算器。
這里,我想說明一下: PHP基礎(chǔ)語法看似簡單,但是也不可大意,有些PHP程序員工作了2年,對PHP運行的原理都不清楚,對Apache的一些重要調(diào)優(yōu)配置也不了解,這樣的程序員,在公司是不行的,很難得到提升。所以就一直是一個編碼工人,薪資也上不去。
比如面試中經(jīng)常問到: PHP中一個整數(shù)的范圍是多少, 小數(shù)的能表示的范圍是多少? 再比如如何在Apache中配置一個404錯誤頁面,如何給一個主機(jī)配置一個域名,具體怎樣操作?這樣一些基礎(chǔ)的問題都必須在這個階段搞定。推薦大家看 傳智播客php視頻教程 23講-45講 ,有詳細(xì)到位的講解。
(2)PHP函數(shù)
PHP函數(shù)的基本介紹、如何自定義函數(shù)、PHP頁面調(diào)用函數(shù)、require()、require_once()、include()和include_once()的區(qū)別、從內(nèi)存分析PHP函數(shù)調(diào)用過程、函數(shù)使用需要注意的細(xì)節(jié)、函數(shù)值傳遞和引用傳遞的區(qū)別。
函數(shù)是我們PHP編程最重要的一個知識點,也是進(jìn)行模塊化編程的基礎(chǔ),掌握好函數(shù)可以提高代碼的復(fù)用性、可讀性和可維護(hù)性。
(3)數(shù)組、排序和查找 數(shù)組的基本概念、數(shù)組的引用方式、數(shù)組引用陷阱、與PHP數(shù)組相關(guān)的函數(shù)(count、is_array、print_r、explode等)遍歷數(shù)組的三種方式、刪除數(shù)組元素和數(shù)組運算符、數(shù)組使用細(xì)節(jié)總結(jié)、內(nèi)部排序法和外部排序法介紹、冒泡排序和快速排序、選擇排序和插入排序、順序查找和二分查找、二維數(shù)組介紹和使用。依據(jù)我的經(jīng)驗,我們?nèi)フ夜ぷ鞯臅r候,一定會一道關(guān)于排序和查詢的題,最常見的問題是: 請你寫出冒泡排序法,并使用二分查找來查找一個數(shù)。在項目開發(fā)中,數(shù)組是銜接變量和函數(shù)的重要數(shù)據(jù)類型,在MVC開發(fā)中,往往需在控制器中將數(shù)組分配給視圖去顯示,在算法中,數(shù)組也是變化最為靈活的。
(4)面向?qū)ο缶幊?/p>
面向?qū)ο缶幊袒靖拍睢㈩惡蛯ο蟮年P(guān)系、如何定義類、成員屬性(變量)、如何創(chuàng)建對象實例及如何訪問對象屬性、對象在內(nèi)存中存在的形式、棧、堆、全局區(qū)、常量區(qū)和代碼區(qū)的關(guān)系、成員方法(函數(shù))及使用細(xì)節(jié)、構(gòu)造方法(函數(shù))、默認(rèn)構(gòu)造方法(函數(shù))、this的基本概念和使用、析構(gòu)方法(函數(shù))、PHP的對象垃圾回收器、靜態(tài)變量(類變量)的概念和使用、靜態(tài)方法(類方法)的概念和使用、面向?qū)ο缶幊痰娜筇卣鹘榻B、面向?qū)ο缶幊?封裝、面向?qū)ο缶幊?繼承、面向?qū)ο缶幊?多態(tài)、訪問控制修飾符(public、protected、private)、方法重載(overload)、方法重寫(override)、方法重載(overload)和方法重寫(override)的比較、PHP魔術(shù)函數(shù)(__set __get __construct __destruct __call等)和魔術(shù)常量(__LINE__ , __FILE__ ,__FUNCTION__等)、抽象類(abstract class)的概念和使用接口(interface)的概念和使用、接口編程和繼承的區(qū)別、關(guān)鍵字final的使用、常量關(guān)鍵字const 的作用和使用注意事項、面向?qū)ο缶幊讨畯姶蟮姆瓷錂C(jī)制、面向?qū)ο缶幊讨畡討B(tài)代理。
面向?qū)ο缶幊桃呀?jīng)成為PHP編程的主流,面向?qū)ο缶幊套尦绦蜃兊酶訌姶蠛挽`活,更利于項目的開發(fā)和維護(hù)。關(guān)于面向?qū)ο缶幊?在 傳智播客 php視頻教程 61講-78講,看看什么才是真正的PHP面向?qū)ο笏枷?,什么是真正的OOP。
(5)錯誤處理和異常處理
錯誤處理的基本概念、PHP處理錯誤的三種方式介紹、使用die()進(jìn)程錯誤處理、自定義錯誤和錯誤觸發(fā)器、錯誤日志、錯誤級別介紹、PHP異常處理的基本介紹、PHP異常處理(try throw catch)、自定義異常、如何設(shè)置頂級異常處理器、異常使用的規(guī)則。
在編寫php web 應(yīng)用程序時,錯誤處理是一個重要的部分。如果您的代碼缺少錯誤檢測編碼,那么程序看上去很不專業(yè),也為安全風(fēng)險敞開了大門。所以大家需要清楚在PHP編程中如何對錯誤和異常進(jìn)行有效的處理,從而保證程序的安全和健壯。
(6)預(yù)定義超全局?jǐn)?shù)組
預(yù)定義超全局?jǐn)?shù)組-基本概念、$_GET、$_POST、$_REQUEST、$_SERVER、$_ENV、$_FILES、$_COOKIE、$_SESSION、$GLOBALS、$_GET 使用陷阱(sql注入和中文亂碼問題)
(7)cookie和session 什么是會話、cookie的基本概念、cookie的curd操作、cookie重要的api介紹、cookie運行原理圖解、cookie的實際運用(顯示用戶上次訪問時間、顯示用戶上次瀏覽過的商品、)、cookie使用的注意事項、session數(shù)據(jù)存放的位置和形式、session的curd操作、session運行原理圖解、session實際案例-在線購物車、IE禁用Cookie后的session處理方案、session防止用戶非法入侵、session配合驗證碼使用、php.ini 中關(guān)于cookie和session配置說明(重點,難點)、自定義會話處理器、Session和Cookie的區(qū)別。
Cookie(小甜餅)是客戶端技術(shù),服務(wù)器把每個用戶的數(shù)據(jù)以cookie的形式 寫給用戶各自的瀏覽器。當(dāng)用戶使用瀏覽器再去訪問服務(wù)器中的web資源時,就會帶著各自的數(shù)據(jù)去。Session是服務(wù)器端技術(shù),利用這個技術(shù),服務(wù)器在運行時可以為每一個用 戶的瀏覽器創(chuàng)建一個其獨享的session文件,當(dāng)用戶再去訪問服務(wù)器中的其它web資源時,可以從用戶各自的session 中取出數(shù)據(jù)為用戶服務(wù)。Session和Cookie是最重要的用戶行為跟蹤技術(shù),尤其是電商,sns項目中運用廣泛,因此是我們學(xué)習(xí)的重點和難點,也是面試筆試的重點。關(guān)于cookie和session大家可以參考傳智播客 php視頻教程 114-121講
(8)PHP文件編程
文件及文件編程是什么、文件流的基本概念、文件的操作方式、PHP文件編程函數(shù)匯總介紹、最常用的13個文件函數(shù)、使用文件完成網(wǎng)站計數(shù)器、文件上傳下載操作-mini版音樂共享網(wǎng)、無限級文件掃描器。
文件最主要的作用就是保存數(shù)據(jù),它既可以保存一張圖片,也可以保存視頻 ,聲音...,本章節(jié)要求同學(xué)們掌握文件的各種操作和上傳下載,動態(tài)創(chuàng)建和刪除目錄,文件和無限級掃描文件等,掌握好這些知識點對我們項目開發(fā)非常重要。
(9)PHP繪圖技術(shù)
php繪圖坐標(biāo)系、繪圖步驟說明、繪圖快速入門、繪圖最常用的函數(shù)、繪圖技術(shù)的實際運用—人口分布餅狀統(tǒng)計圖、專業(yè)的報表開發(fā)--JpGraph、JpGraph的安裝和配置、JpGraph實際應(yīng)用-網(wǎng)民支持情況統(tǒng)計圖、JpGraph中文亂碼處理。如果你使用過財務(wù)軟件,那你一定看見過各種對財務(wù)數(shù)據(jù)進(jìn)行統(tǒng)計和分析 的圖表,可能是表格,也可能是餅狀圖、柱狀圖、曲線圖..,簡單的說,就是使用圖表動態(tài)顯示數(shù)據(jù)。而這些圖表的顯 示都要使用到PHP的繪圖技術(shù),繪圖技術(shù)要求熟練的使用PHP的繪圖函數(shù)完成項目的需求。能開發(fā)一些統(tǒng)計圖,非常有實用價值。比如:
如何檢驗自己的學(xué)習(xí)效果,看看下面的一些面試題 , 看看能完成多少? 如果能正確完成80%,說明這個階段學(xué)到還不錯。
練習(xí)1: 簡述echo(),print(),print_r()的區(qū)別?
練習(xí)2: 說出PHP的超級全局變量數(shù)組,共九種
練習(xí)3: 如何在一個php函數(shù)中使用具有全局屬性的變量,說出兩種方式
練習(xí)4: 三個小題: 4.1.跳水比賽,8個評委打分。運動員的成績是8個成績?nèi)〉粢粋€最高分,去掉一個最低分,剩下的6個分?jǐn)?shù)的平均分就是最后得分。使用一維數(shù)組實現(xiàn)打分功能。4.2.請把打最高分的評委和最低分的評委找出來。
4.3.找出最佳評委和最差評委。最佳評委就是打分和最后得分最接近的評委。最差評委就是打分和最后得分相差最大的。
練習(xí)5: include和require都能把另外一個文件包含到當(dāng)前文件中,他們有什么區(qū)別?Include和include_once又有什么區(qū)別?
練習(xí)6: 寫出一個能創(chuàng)建多級目錄的PHP函數(shù)
練習(xí)7: 寫出一個函數(shù),能遞歸列出某個目錄下的所有文件夾和文件名.練習(xí)8: 在防止SQL注入的時候,通、會把單引號、雙引號等轉(zhuǎn)義,需要用到哪個函數(shù)
練習(xí)9: 寫出插入排序法和快速排序法代碼
練習(xí)10: 二分查找的原理是什么? 請寫出二分查找函數(shù)
練習(xí)11: 寫出php的public、protected、private三種訪問控制模式的區(qū)別
練習(xí)12: 請寫出一個完整的嚴(yán)謹(jǐn)?shù)膯卫J?/p>
練習(xí)13: __set 和 __get 魔術(shù)函數(shù)是做什么的,在什么時候被觸發(fā)
練習(xí)14: 如何防止對象克隆, 對象克隆會復(fù)制 static屬性嗎?
練習(xí)15: 說說strip_tags的作用和用法?
練習(xí)16: 如果需要原樣輸出用戶輸入的內(nèi)容,在數(shù)據(jù)入庫前,要用哪個函數(shù)處理?
練習(xí)17: 如何控制多個進(jìn)程去并發(fā)刪除,插入和更新數(shù)據(jù)庫的某張表?
練習(xí)18: PHP的安全模式和非安全模式的區(qū)別