本文目錄一覽:
php知識框架總結
php知識框架總結
篇一:php基礎知識點總結
PHP語言基礎簡單整理
1.開始結束標記的格式只有在沒有判斷語句時才能使用。
對錶單傳遞的變量進行編碼和解碼:PHP中實現對查詢字符串進行URL編碼可以通過函數urlencode()實現,該函數的使用格式如下:string urlencode(string str);對URL編碼後的查詢字符串進行解碼,可以通過urldecode()函數實現,該函數的使用格式如下:string urldecode(string str);
15.PHP連接數據庫:
步驟: 一、建立連接——mssql_connect(server,uid,pwd);
二、指定database——-mssql_select_db(databasename);
三、執行sql——mssql_query($sql,$link);
四、處理記錄集——-資源類型數據,格式:bof—數據—eof
五、以特定格式讀取數據—–mssql_fetch_array()….
六、釋放相關資源、關閉連接——mssql_free_result($result);mssql_close();
16.數組:php的數組由鍵值和value值組成
定義:$array = array(“鍵值”=”value”,”鍵值”=”value”,”鍵值”=”value”);如果不給鍵值賦值,默認從0開始的int值
相關函數:(1)in_array(“值”,數組名); 返回bool型—–查看數組中是否存在某value值
(2)array_key_exists(“key值”,數組名); 返回bool型—–查看數組中是否存在某鍵值
(3)array_keys(數組名);—將數組鍵值返回出來形成一個新數組,此鍵值作為新數組的value值
(4)array_values(數組名);—將數組value值返回出來形成一個新數組,此值作為新數組的value值
(5)key(數組名);—-返回當前指針指向的元素key值
(6)current(數組名);—-返回當前指針指向的元素value值
(7)next(數組名);—-挪動當前數組指針到下一步
(8)reset(數組名);—-恢複數組指針,指向第0個元素
(9)end(數組名);—-將指針挪向最後一個元素
(10)prev(數組名);—-將指針向前挪動一位
(11)foreach(數組名 as $key=$value)
{
$key是鍵值,$value是value值,實現數組遍歷
}
(12)each(數組名);—-將當前數組元素依次取出(自動挪動指針)並放到一個新的數組中
(13)array_shift(數組名);—-返回數組中第一個元素值
(14)array_pop(數組名);—-返回數組最後一個元素值
(15)array_push(數組名,value);—-向數組中追加元素
(16)array_unshift(數組名,value);—-在數組最前面添加元素
(17)array_pad(數組名,數組長度,value);—-向數組中追加多個元素,對數組副本操作,不改變原數組,返回一個新數組
(18)count();—-返回個數
(19)array_unique(數組名);—-去掉數組中重複部分,操作數組副本,不改變原數組,返回新數組
(20)sort(數組名);—-從小到大升序排列數組value值,一般針對int型value值,返回bool型,成功返回true
(21)rsort(數組名);—-從大到小,逆序排列數組value值
(22)array_combine(數組1,數組2);—-將數組1的value值作為key,數組2的value值作為value值,形成一個新數組
(23)array_merge(數組1,數組2,數組3…);—-合併多個數組,將多個數組value值依次合併,合為一個數組
(24)array_slice(數組名,int,int);—-從目標數組截取元素,形成一個新數組。開始位置為第二個參數,結束位置為第三個參數。若第三個參數不寫,則默認是截取到最後。
(25)array_splice();—-用法同array_slice();但是其截取部分從原數組中刪除
(26)explode(“字符依據”,目標字符串);—-將字符串按照一定的依據拆分成數組
(27)implode(“字符依據”,目標數組);—-將數組元素按照依據組合成一個字符串
(28)range(mixed low,mixed high[number step]);—-生成數組,例:range(1,100,8);—即從1到100,每8位取一個數,組成一個數組
(29)shuffle(數組名);—-用於將數組進行隨機排序
(30)array_sum(數組名);—-對數值型數組元素值進行求和
(31)array_chunk(數組名,int);—-分割目標數組,返回一個新數組,其中數組的每個元素都是一個一維數組,int參數為分割成的一維數組的長度
17.Cookie和會話控制:
Cookie是在HTTP協議下,服務器或腳本可以維護客戶工作站上信息的一種方式。Cookie是由Web服務器保存在客戶機上的小文本文件,它可以包含有關用戶的信息。無論何時用戶鏈接到服務器,Web站點都可以訪問Cookie信息。
存在server端的是session,存在client端的是cookie,它們用來存儲全局變量。 設定Cookie值:setcookie(“名”,”值”);
通過Cookie數組取值:$_cookie[“名”];
設置生成期:setcookie(“名”,”值”,time()+1800);生成期為當前時間加1800秒之後。
刪除cookie: setcookie(“名”,””,time()-3600);中間值設置為空,並將當前時間減去3600秒。 Cookie數組:setcookie(“名[key]”,”值”); 使用foreach讀取。
在PHP中可以通過$_COOKIE預定義變量訪問Cookie的值。如果設置了php.ini中的register_long_arrays,那麼就能夠應用$_COOKIE和$HTTP_COOKIE_VARS;如果在php.ini中還設置了register_globals,那麼就可以在PHP中作為全局變量使用各個Cookie值。但是,更改php.ini中的兩個文件設置,容易對PHP的安全構成威脅,不推薦使用該方法,建議使用更新的$_COOKIE。
會話ID的傳送
會話ID的傳送有兩種方式,一種是Cookie方式,另一種是URL方式。
Cookie傳送方式:
這是最簡單的會話方式,但是有些客戶可能限制使用Cookie,如果客戶限制使用Cookie的條件下,仍要繼續工作,那就要通過其他方式來實現了。
URL傳送方式:
在該方式中,URL本身用來傳送會話,會話標誌被簡單地附加到URL的尾部,或者作為窗體中的一個變量來傳遞。例:
php的優點總結 php有哪些優點
PHP優點:
1.入門快,有其它語言基礎的程序員二周左右的時間就可以入門,一個月左右的時間基本上就可以開發簡單的項目了。
2.開發成本低,PHP最經典的組合就是:Linux + Apache + MySQL + PHP。非常適合開發中小型的web應用,因為上手容易,所以開發的速度比較快。而且所有的軟件都是開源免費的,可以減少投入。
3.PHP是解釋性的腳本語言,寫完代碼以後即可以執行,不像c,java,c++等語言還需要去編譯執行,相對來說比較節省時間。
4.相對來說,PHP程序員的薪水的平均工資要比c,c++,java程序員的平均工資要低一些,特別是對於中小型企業來說可以節約一些成本。
5.配置及部署相對簡單一些,對比JAVA開發來說,JAVA開發的配置就複雜多了,什麼Structs、Spring、Hibernate、Tomcat等等很多地方都需要配置,甚至你在程序中每寫一個SQL語句都需要先在Hibernate中配置一下,有時重新部署一個class文件或jar文件還可能需要重啟Web服務器(Tomcat或Resin或其它的Web服務器)使新部署的庫文件生效。
PHP開發中主要是PHP自身的配置文件及Web服務器的配置(如Apache或Nginx或Lighttpd等),相對於JAVA來說還是簡單一些,而且新修改了文件以後不需要重新啟動Web即可以立即生效。
6.有很多開源的框架或開源的系統可以使用,比如比較知名的開源框架有Zend Framework、CakePHP、CodeIgniter、symfony、thinkphp等,開源論壇有Discuz!、Phpwind等,開源博客WordPress,開源網店系統如Ecshop、ShopEx等,開源的SNS系統如UCHome、ThinkSNS等。
內容擴展
1. 跨平台,性能優越,跟Linux/Unix結合別跟Windows結合性能強45%,並且和很多免費的平台結合非常省錢,比如LAMP(Linux /Apache/Mysql/PHP)或者FAMP(FreeBSD/Apache/Mysql/PHP)結合,或者數據應用夠大可以考慮換 PostgreSQL或者Oracle,支持N種數據庫。(N = 10)
2. 語法簡單,如果有學習C和Perl的很容易上手,並且跟ASP有部分類似。有成熟的開發工具,比如NuPHPed,或者Zend Studio等等,再Linux平台下可以使用Eclipse等等。
3. 目前主流技術都支持,比如WebService、Ajax、XML等等,足夠應用。
4. 有比較完整的支持,比如使用ADODB或者PEAR::DB做數據庫抽象層,用Smarty或者smart template做模板層,如果是PHP 5.1的話,還能夠使用PDO(PHP Data Object)來訪問數據庫。
5. 有很多成熟的框架,比如支持MVC的框架:phpMVC,支持類似ASP.net的事件驅動的框架:Prado,支持類似Ruby On Rails的快速開發的框架:Cake等等,足夠滿足你的應用需求。
6. PHP 5已經有成熟的面向對象體系,能夠適應基本的面向對象要求。適合開發大型項目。
7. 有成熟的社區來支持PHP的開發。
8. 目前已經很多大型應用都是使用PHP,比如淘寶網、Yahoo、163、Sina等等大型門戶,很多選用PHP來作為他們的開發語言,所以大型門戶都能夠選用它,我想足夠能夠你的使用了。
9. 有很多開源的框架或開源的系統可以使用,比如比較知名的開源框架有Zend Framework、CakePHP、CodeIgniter、symfony等,開源論壇有Discuz!、Phpwind等,開源博客 WordPress,開源網店系統如Ecshop、ShopEx等,開源的SNS系統如UCHome、ThinkSNS等。
PHP入門教程之日期與時間操作技巧總結(格式化,驗證,獲取,轉換,計算等)
本文實例講述了PHP日期與時間操作技巧。分享給大家供大家參考,具體如下:
Demo1.php
?php
//驗證時間
//checkdate()
1.月份
2.日
3.年
//checkdate()
判斷這個日期是否是合法的日期
//不合法的日期,試一試
if(checkdate(7,16,2010)){
echo
‘這個日期是合法有效的’;
}else{
echo
‘這個日期是非法的。’;
}
?
Demo2.php
?php
//date
—
格式化一個本地時間/日期
//date(),
徹底研究一下
//date()
可以存放兩個參數,第一參數是日期和時間的格式化,[第二參數是時間戳]
//Y
表示四位數的年份,
y表示二位數的年份
//M
表示英文的月份縮寫,m
表示阿拉伯數字的月份
//D
表示英文下的星期幾縮寫,d
表示阿拉伯數字的日
//第一個參數的格式化可以放一些無關緊要的字符串
//只要無關緊要的字符串不再
format
的目錄里,就不會被識別
//echo
date(‘現在的日期是:Y-m-d’);
//現在的日期是:2015-04-20
//時分秒
=
H
表示24小時制的小時,
//明明是
19
,為什麼顯示
11
點呢,東八區,差
8
個小時
//現在沒有經過任何設置,所以時間在默認時區上
//echo
date(‘現在的日期是:Y-m-d
H:i:s’);
//重點是年月日,時分秒
echo
date(‘r’);
echo
date(‘現在的日期是:Y-m-d
H:i:sa’);
?
Demo3.php
?php
//取得當前的時間,返回一個數組
//”sec”
–
自
Unix
紀元起的秒數
//”usec”
–
微秒數
//”minuteswest”
–
格林威治向西的分鐘數
//”dsttime”
–
夏令時修正的類型
//print_r(gettimeofday());
//第一數組的元素就是時間戳
//gettimeofday()
就是取得的當前時間的時間戳
//$a
=
gettimeofday();
//sec
取得當前時間的時間戳
//轉換成人可以看得懂的時間
//第二個參數,對於本例來講,放與不放,是一樣的。
//echo
date(‘Y-m-d
H:i:s’,$a[‘sec’]);
print_r(gettimeofday(0));
echo
gettimeofday(1);
?
Demo4.php
?php
//將時間戳轉換成人可以看的懂的時間
//date()
函數的第二個參數就是時間戳
//如果第二個參數省略了,那麼就返回當前時間
//如果第二個參數沒有省略,那麼就返回那個時間戳的時間
echo
date(‘Y-m-d
H:i:s’,24554457865);
?
Demo5.php
?php
//getdate()
也可以轉換時間戳
//print_r(getdate());
//Array
(
[seconds]
=
26
[minutes]
=
34
[hours]
=
10
[mday]
=
20
[wday]
=
1
[mon]
=
4
//[year]
=
2015
[yday]
=
109
[weekday]
=
Monday
[month]
=
April
[0]
=
1429526066
)
$t
=
getdate();
echo
$t[‘year’];
//傳遞一個時間戳
print_r(getdate(1029526066));
?
Demo6.php
?php
//直接獲取當前時間戳
//echo
time();//1429526328
//這個
time()
可以調整時間
//大家可以發現
time()
很有用處,可以過去現在和將來
echo
date(‘Y-m-d
H:i:s’,time()+60*60*8);
?
Demo7.php
?php
//獲取特定指定時間的時間戳
//這是當前的時間戳
//echo
time();
//我要取得
2008-08-08
08:08:08
$beijing2008
=
mktime(8,8,8,8,8,2008);
echo
date(‘Y-m-d
H:i:s’,$beijing2008);
?
Demo8.php
?php
//使用時間戳計算時間差
$now
=
time();//當前的時間戳
$wnow
=
mktime(0,0,0,8,16,2016);
//兩個時間戳相減可以得到差秒
echo
round(($wnow
–
$now)/60/60,2).’相差這幾個小時’;
?
Demo9.php
?php
//將人可讀的時間,字符串形式,轉換成時間戳
$a
=
strtotime(‘2010-7-16
15:15:15′)-strtotime(‘2010-7-16
15:14:15′);
if($a
=
60){
echo
‘請這位先生休息一會。’;
}else{
echo
$a;
}
?
Demo10.php
?php
//獲取當前文件的修改時間戳
echo
date(‘Y-m-d
H:i:s’,getlastmod());
?
Demo11.php
?php
//配置系統環境變量
echo
date(‘Y-m-d
H:i:s’);
echo
‘br/’;
//我開始設置時區
putenv(‘Tz=Asia/Shanghai’);
echo
date(‘Y-m-d
H:i:s’);
?
Demo12.php
?php
//putenv(‘Tz=Asia/Shanghai’);
//獲取當前時區
echo
date_default_timezone_get();
echo
‘br/’;
//開始配置默認時區
date_default_timezone_set(‘Asia/Shanghai’);
echo
date(‘Y-m-d
H:i:s’)
;
echo
‘br/’;
echo
date_default_timezone_get();
?
Demo13.php
?php
date_default_timezone_set(‘Asia/Shanghai’);
//”tm_sec”
–
秒數
//”tm_min”
–
分鐘數
//”tm_hour”
–
小時
//”tm_mday”
–
月份中的第幾日
//”tm_mon”
–
年份中的第幾個月,從
開始表示一月
//”tm_year”
–
年份,從
1900
開始
//”tm_wday”
–
星期中的第幾天
//”tm_yday”
–
一年中的第幾天
//”tm_isdst”
–
夏令時當前是否生效
print_r(localtime(time(),true));
//Array
(
[tm_sec]
=
37
[tm_min]
=
15
[tm_hour]
=
19
//[tm_mday]
=
20
[tm_mon]
=
3
[tm_year]
=
115
//[tm_wday]
=
1
[tm_yday]
=
109
[tm_isdst]
=
)
?
Demo14.php
?php
//返回時間戳和微秒數
//怎麼計算頁面運行加載時間
//頁面打開的時候獲取一個時間
//頁面結束的時候獲取一個時間
//用結束的時間減去打開的時間,那麼就是運行時間
//
list($a,$b)=explode(‘
‘,microtime());
//
echo
$b;
function
fn(){
list($a,$b)=explode(‘
‘,microtime());
return
$a+$b;
//返回出精確的秒數
}
//在頁面打開的時候,獲取一個時間
$start_time
=
fn();
for($i=0;$i10000000;$i++){
//
}
//頁面結束的時候,獲取一個時間
$end_time
=
fn();
echo
round(($end_time
–
$start_time),4);
?
更多關於PHP相關內容感興趣的讀者可查看本站專題:《php日期與時間用法總結》、《PHP數組(Array)操作技巧大全》、《PHP基本語法入門教程》、《PHP運算與運算符用法總結》、《php面向對象程序設計入門教程》、《PHP網絡編程技巧總結》、《php字符串(string)用法總結》、《php+mysql數據庫操作入門教程》及《php常見數據庫操作技巧匯總》
希望本文所述對大家PHP程序設計有所幫助。
php要學哪些東西?學習php需要掌握哪些東西?
PHP需要掌握的知識還是比較多的,最基本的比如:PHP基本的語法、php框架以及CMS、mysql數據庫設計表、mysql數據庫的基本SQL語句。現在一般PHP的都得會前端,那就包括:js/ajax、html、css。如果更高點層次的就是linux服務器。
下面參考雷雪松的個人博客學習PHP的路線和一些方法。
1、用集成環境安裝PHP環境,一定要記住這一點,不要自己分開去裝,尤其是自學的朋友。不然你會覺得很複雜,會沒有信心學下去的。也要注意任何高手都不是一蹴而就的,是一步一步,不同的階段歷練才有最後的沉澱。
2、先了解一些基本的變量類型,語法,函數,基本邏輯,寫簡單的代碼。前期以嘗試,培養興趣為主。這段時間是打基礎很好的時候,這個會影響你後面的發展,不過也可以在後期去完善。
3、這時候你可能覺得PHP就這樣,沒什麼難度,或者有的覺得太難了,簡直一臉疑惑。這個到底有什麼用。在這時候一定要堅持下來,可以試試先放一下,別太較真。慢慢的困惑你的會被你領悟的。這時,建議學習html+css+js,緩解自己的壓力,這個相對簡單,簡歷信心。尤其是js,總結其實有相同的思路,可以結合著一起體會。
4、這些都感覺有80%了解就可以先放放了,現在在學習MySQL,也是先了解基礎的。這個是幹什麼的,我可以用它做什麼。因為之前裝的集成環境。為什麼感覺是凌亂的,我想告訴你的是,一是不要在自己沒能力解決問題的時候死磕,浪費時間,喪失信心。這時候我們要做的是學習壯大自己,不要灰心。二是我本來覺得這一切都了解才是完整的。我們的目標也是要把這些都做好,這才是一個合格的PHP程序員。
5、這一切都順利的話,你基本離預設的目標不遠了,完成了整個學習的70%了。後面的是在之前的基礎上升華。把HTML和css、js結合、靜態文件和PHP結合、PHP和MySQL結合。這個階段可能越到的問題會異常的多,一定要學會解決問題。網上很多都是答案,同樣你要學會問問題。
6、這些之後你基本已經快到學習的尾聲了,但還缺少經驗。這時,你可以看一些網上開源的cms,例如織夢,國內用的多,越到問題好解決。看看一些視頻(網上免費的很多),查漏補缺,總結歸納形成自己的知識體系。是時候該準備慶祝下自己這段的時間沒有白費(一般2到3各月,看平時每天花的時間),基本成為一個合格的PHP程序員了。也該恭喜你了,其實並不那麼難。堅持,堅持;努力,努力;學習,學習。
原創文章,作者:小藍,如若轉載,請註明出處:https://www.506064.com/zh-hant/n/158117.html