導航:首頁 > 編程語言 > xorphp

xorphp

發布時間:2023-01-12 17:27:44

php中字元變數 異或 '1'^'2' 的值

<?php
echo(1^2)." ";
echo('123'^'ACE')." ";
?>

你猜猜這個執行結果是什麼?

在PHP裡面,整數進行位運算的結果和C語言是相同的,這個你明白,我不多說。但是PHP的位運算更高級,如果左右參數都是字元串,則位運算符將操作字元的 ASCII 值。

㈡ PHP的其他方面

PHP 在資料庫方面的豐富支持,也是它迅速走紅的原因之一,它支持下列的資料庫或是數據文件:
Adabas 、D、 DBA、dBase 、dbm 、filePro 、Informix 、InterBase、mSQL 、Microsoft SQL Server、·MySQL、Solid、Sybase、 Oracle 、PostgreSQL
而在 Internet 上它也支持了相當多的通訊協議 (protocol),包括了與電子郵件相關的 IMAP,POP3;網管系統 SNMP;網路新聞NNTP;帳號共用 NIS;全球信息網 HTTP 及 Apache 伺服器;目錄協議 LDAP 以及其它網路的相關函數。
除此之外,用 PHP 寫出來的 Web 後端 CGI 程序,可以很輕易的移植到不同的操作系統上。例如,先以 linux 架的網站,在系統負荷過高時,可以快速地將整個系統移到 SUN 工作站上,不用重新編譯 CGI 程序。面對快速發展的 Internet,這是長期規劃的最好選擇。
相關語法及概念
php 支持八種原始類型。
四種標量類型:boolean(布爾型) integer(整型) float(浮點型,也作「double」) string(字元串)
兩種復合類型:array(數組)object(對象)
最後是兩種特殊類型:resource(資源)NULL
為了確保代碼的易讀性,本手冊還介紹了一些偽類型:mixed、number、callback
語法(例子中均忽略了PHP代碼邊界符 <?php ?>):
注釋的語法有三種: //comment這個是單行注釋/*comment*/這個是多行注釋#comment這個是腳本類型注釋,很少用基本的結構控制語句: //分支結構(選擇結構)if(condition){//Statement}if(condition){//Statement}else{//Statement}if(condition){//Statement}elseif(condition){//Statement}//多分支結構switch($變數){case'值'://Statementbreak;case'值2'://Statementbreak;default://Statement}//循環結構while(condition){//Statement}do{//Statement}while(condition);for(初始化;判斷;變化){//Statement}//數組遍歷專用循環語句foreach($Arrayas$value){echo$value;}foreach($Arrayas$key=>$value){echo$key;echo$value;}一個PHP實例: <html><head><title>Firstprogram</title></head><body>//php中string類型的拼接符和其它大多數採用+號運算符不一樣,而是採用.號運算//在一般語言中用於對象屬性和方法調用的.運算符,則和C語言的結構體一樣用=><?phpechohelloworld.!;?></body></html>php對面向對象的支持
面向對象編程的概念:
不同的作者之間說法可能不一樣,但是一個OOP語言必須有以下幾方面:
1.抽象數據類型和信息封裝
2.繼承
3.多態
在PHP中是通過類來完成封裝的: //在OOP類中,通常採用大雙駝峰命名法,每個單詞的首字母都大寫classSomething{//作用域修飾符:public公共的;private私有的;protected受保護的;//屬性的名稱一般用全小寫private$x=null;//在編程建議中,內部使用的屬性應該給私有修飾符,然後通過方法取值賦值//方法的名稱一般用小駝峰命名法,第一個單詞全小寫,剩下的單詞首字母大寫//因為PHP不會自動為變數使用$this所以必須主動加上$this偽變數來指向操作的對象publicfunctionsetX($v){$this->x=$v;}publicfunctiongetX(){return$this->x;}}當然你可以按自己的喜好進行定義,但最好保持一種標准,這樣會更有效。數據成員在類中使用var聲明來定義,在給數據成員賦值之前,它們是沒有類型的。一個數據成員可以是一個整數,一個數組,一個相關數組(associative array)或者是一個對象。方法在類中被定義成函數形式,在方法中訪問類成員變數時,你應該使用$this->name,否則對一個方法來說,它只能是局部變數。
使用new操作符來創建一個對象: $obj=newSomething;然後你可以使用成員函數通過: $obj->setX(5);$see=$obj->getX();echo$see;在這個例子中,setX成員函數將5賦值給對象的成員變數x(不是類的),然後getX返回它的值5。可以象:$obj->x=6那樣通過類引用方式來存取數據成員,這不是一個很好的OOP習慣。我強烈建議通過方法來存取成員變數。如果你把成員變數看成是不可處理的,並且只通過對象句柄來使用方法,你將是一個好的OOP程序員。不幸的是,PHP不支持聲明私有成員變數,所以不良代碼在PHP中也是允許的。繼承在PHP中很容易實現,只要使用extends關鍵字。 classAnotherextendsSomething{private$y;publicfunctionsetY($v){$this->y=$v;}functiongetY(){return$this->y;}}Another類的對象擁有了父類(Something)的全部的數據成員及方法,而且還加上了自己的數據成員和方法。
你可以使用 $obj2=newAnother;$obj2->setY(5);echo$obj2->getY();PHP只支持單繼承,所以你不能從兩個或兩個以上類派生出新的類來。你可以在派生類中重定義一個方法,如果我們在Another類中重定義了getX方法(方法重寫),我們就不能使 用Something中的getX方法了。如果你在派生類中聲明了一個與基派同名的數據成員,那麼當你處理它時, 它將「隱藏」基類的數據成員。
你可以在你的類中定義構造函數。構造函數是一個與類名同名的方法,當你創建一個類的對象時會被調用,例如: classSomething{private$x=null;//新版本的構造函數放棄使用類名,而統一使用__construct()publicfunction__construct($x){$this->x=$x;}publicfunctionsetX($v){$this->x=$v;}publicfunctiongetX(){return$this->x;}//析構函數publicfunction__destruct(){}}所以你可以創建一個對象,通過: $obj=newSomething(6);構造函數會自動地把6賦值給數據變數x。構造函數和方法都是普通的PHP函數(」__「兩個下劃線,魔術方法),所以你可以使用預設參數。 publicfunction__construct($x=3,$y=5){}接著: $obj=newSomething();//x=3andy=5$obj=newSomething(8);//x=8andy=5$obj=newSomething(8,9);//x=8andy=9預設參數使用C++的方式,所以你不能忽略Y的值,而給X一個預設參數,參數是從左到右賦值的,如果傳入的參數少於要求的參數時,其作的將使用預設參數。
當一個派生類的對象被創建時,只有它的構造函數被調用,父類的構造函數沒被調用,如果你想調用基類的構造函數,你必須要在派生類的構造函數中用parent::__construct()調用。可以這樣做是在派生類中所有父類的方法都是可用的。 classAnotherextendsSomething{publicfunction__construct(){parent::__construct(5,6);//顯示調用基類構造函數}}OOP的一個很好的機制是使用抽象類。抽象類是不能實例化,只能提供給派生類一個介面。設計者通常使用抽象類來強迫程序員從基類派生,這樣可以確保新的類包含一些期待的功能。在PHP中沒有標準的方法,但是:如果你需要這個特性,可以通過定義基類,並在它的構造函數後加上die 的調用,這樣就可以保證基類是不可實例化的,在每一個方法(介面)後面加上die 語句,所以,如果一個程序員在派生類中沒有覆蓋方法,將引發一個錯誤。而且因為PHP 是無類型的,你可能需要確認一個對象是來自於你的基類的派生類,那麼在基類中增加一個方法來實義類的身份(返回某種標識id),並且在你接收到一個對象參數時校驗這個值。當然,如果一個不好的邪惡程序員在派生類中覆蓋了這個方法,這種方法就不起作用了,不過一般問題多在懶惰的程序員身上,而不是邪惡的程序員。
當然,能夠讓基類對程序員無法看到是很好的,只要將介面列印出來做他們的工作就可以了。PHP 5 引入了析構函數的概念,這類似於其它面向對象的語言,如 C++。析構函數會在到某個對象的所有引用都被刪除或者當對象被顯式銷毀時執行。
重載(與覆蓋不同)在PHP中不支持,因為PHP是弱類型語言。在OOP中,你可以重載一個方法來實現兩個或重多的方法具有相同的名字,但是有不同數量或類型的參數(這要看語言)。PHP 是一種鬆散類型的語言,所以通過類型重載不起作用,然而通過參數的個數不同來重載也不起作用。
有時在OOP中重載構造函數非常好,這樣你可以通過不同的方法創建對象(變數函數)。在PHP中實現它的技巧是: classMyclass{publicfunctionMyclass(){$name=Myclass.func_num_args();//這個函數返回的是傳過來參數的個數$this->$name();//這里使用的是一個變數函數,以這個變數的值作為函數的名稱調用}publicfunctionMyclass1($x){//code}publicfunctionMyclass2($x,$y){//code}}通過在類中的額外的處理,使用這個類對用戶是透明的: $obj1=newMyclass('1');//將調用Myclass1$obj2=newMyclass('1','2');//將調用Myclass2有時這個非常好用。
多態
多態是對象的一種能力,它可以在運行時刻根據傳遞的對象參數,決定調用哪一個對象的方法。例如,如果你有一個figure的類,它定義了一個draw的方法。並且派生了circle和rectangle 類,在派生類中你覆蓋了draw方法,你可能還有一個函數,它希望使用一個參數x,並且可以調用$x->draw()。如果你有多態性,調用哪個draw方法就依賴於你傳遞給這個函數的對象類型。
多態性在象PHP這樣的解釋語言(想像一下一個C++編譯器生成這樣的代碼,你應該調用哪一個方法?你也不知道你擁有的對象是什麼類型的,好,這不是重點)是非常容易和自然的。所以PHP當然支持多態性。 classCalc{functionniceDrawing($x){//假設這是Board類的一個方法$x->draw();}}classCircle{publicfunctiondraw(){echo畫了一個圓;}}classRectangle{publicfunctiondraw(){echo畫了一個矩形;}}$board=newCalc;$obj=newCircle(3,187);$obj2=newRectangle(4,5);$board->niceDrawing($obj);//將調用Circle的draw方法$board->niceDrawing($obj2);//將調用Rectangle的draw方法用PHP進行面向對象編程
一些純化論者(purists)可能會說PHP不是一個真正的面向對象的語言,這是事實。PHP 是一個混合型語言,你可以使用OOP,也可以使用傳統的過程化編程。然而,對於大型項目,你可能想/需要在PHP 中使用純的OOP去聲明類,而且在你的項目只用對象和類。
隨著項目越來越大,使用OOP可能會有幫助,OOP代碼很容易維護,容易理解和重用。這些就是軟體工程的基礎。在基於web的項目中應用這些概念就成為將來網站成功的關鍵。
高級OOP技術
在看過基本的OOP概念後,我就可以向你展示更高級的技術:
序列化(Serializing)
PHP不支持永久對象,在OOP中永久對象是可以在多個應用的引用中保持狀態和功能的對象,這意味著擁有將對象保存到一個文件或資料庫中的能力,而且可以在以後裝入對象。這就是所謂的序列化機制。PHP 擁有序列化方法,它可以通過對象進行調用,序列化方法可以返回對象的字元串表示。然而,序列化只保存了對象的成員數據而不包括方法。
在PHP4中,如果你將對象序列化到字元串$s中,然後釋放對象,接著反序列化對象到$obj,你可以繼續使用對象的方法!我不建議這樣去做,因為(a)文檔中沒有保證這種行為在以後的版本中仍然可以使用。(b) 這個可能導致一種誤解,在你把一個序列化後的版本保存到磁碟並退出腳本時。當以後運行這個腳本時,你不能期待著在反序列化一個對象時,對象的方法也會在那裡,因為字元串表示根本就不包括方法。
總而言之,PHP 進行序列化對於保存對象的成員變數非常有用。(你也可以將相關數組和數組序列化到一個文件中)。
例子 : $obj=newClassfoo();$str=serialize($obj);//保存$str到磁碟上$obj2=unserialize($str);//幾個月以後//從磁碟中裝入str你恢復了成員數據,但是不包括方法(根據文檔所說)。這導致了只能通過類似於使用$obj2->x來存取成員變數(你沒有別的方法!)的唯一辦法,所以不要在家裡試它。
有一些辦法可以解決這個問題,我把它留著,因為對這篇簡潔的文章來說,他們太不好。我會很高興地歡迎在PHP的後續版本中有全序列化的特性。
使用類進行數據存儲PHP和OOP一件非常好的事情就是,你可以很容易地定義一個類來操作某件事情,並且無論何時你想用的時候都可以調用相應的類。假設你有一個HTML表單,用戶可以通過選擇產品ID號來選擇一個產品。在資料庫中有產品的信息,你想把產品顯示出來,顯示它的價格等等。你擁有不同類型的產品,並且同一個動作可能對不同的產品具有不同的意思。例如,顯示一個聲音可能意味著播放它,但是對於其它種類的產品可能意味著顯示一個存在資料庫中的圖片。你可以使用OOP或PHP來減少編碼並提高質量:
定義一個產品的類,定義它應該有的方法(例如:顯示),然後定義對每一種類型的產品的類,從產品類派後出來(SoundItem類,ViewableItem類,等等),覆蓋在產品類中的方法,使它們按你的想法動作。
根據資料庫中每一種產品的類型(type)欄位給類命名,一個典型的產品表可能有(id,type,price,description,等等欄位)...然後在處理腳本中,你可以從資料庫中取出type值,然後實例化一個名為type的對象: $obj=new$type();$obj->action();這是PHP的一個非常好的特性,你可以不用考慮對象的類型,調用$obj的顯示方法或其它的方法。使用這個技術,你不需要修改腳本去增加一個新類型的對象,只是增加一個處理它的類。
這個功能很強大,只要定義方法,而不去考慮所有對象的類型,在不同的類中按不同的方法實現它們,然後在主腳本中對任意對象使用它們,沒有if...else,也不需要兩個程序員,只有高興。
你同意編程是容易的,維護是便宜的,可重用是真的嗎?
如果你管理一組程序員,分配工作就是很簡單的了,每個人可能負責一個類型的對象和處理它的類。
可以通過這個技術實現國際化,根據用戶所選的語言欄位應用相應的類就可以了,等等。
拷貝和克隆
當你創建一個$obj的對象時,你可以通過$obj2=$obj來拷貝對象,新的對象是$obj的一個拷貝(不是一個引用),所以它具有$obj在當時的狀態。有時候,你不想這樣,你只是想生成一個象obj類一樣的一個新的對象,可以通過使用new語句來調用類的構造函數。在PHP中也可以通過序列化,和一個基類來實現,但所有的其它類都要從基類派生出來。
進入危險區域
當你序列化一個對象,你會得到某種格式的字元串,如果你感興趣,你可以調究它,其中,字元串中有類的名字(太好了!),你可以把它取出來,象: $herring=serialize($obj);$vec=explode(':',$herring);//以:為標識符把字元串拆分成一個數組$nam=str_replace(,'',$vec[2]);所以假設你創建了一個Universe的類,並且強制所有的類都必須從universe擴展,你可以在universe 中定義一個clone的方法,如下: classUniverse{//在新的PHP版本中克隆(__clone())是一個魔術方法,不要和這個方法搞混了functionclone(){$herring=serialize($this);$vec=explode(':',$herring);$nam=str_replace(,'',$vec[2]);$ret=new$nam;return$ret;}}//然後$obj=newSomething();//從Universe擴展$other=$obj->clone();你所得到的是一個新的Something類的對象,它同使用new方法,調用構造函數創建出的對象一樣。我不知道這個對你是否有用,但是Universe類可以知道派生類的名字是一個好的經驗。想像是唯一的限制。
模板引擎 Smarty:Smarty的特點是將模板編譯成PHP腳本,然後執行這些腳本。很快,非常方便。 Heyes Template Class:一個非常容易使用,但功能強大並且快速的模板引擎,它幫助你把頁面布局和設計從代碼中分離。 FastTemplate:一個簡單的變數插值模板類,它分析你的模板,把變數的值從HTML代碼中分離處理。 ShellPage:一個簡單易用的類,可以讓你的整個網站布局基於模板文件,修改模板就能改變整個站點。 STP Simple Template Parser:一個簡單、輕量級並且易於使用的模板分析類。它可以從多個模板中組裝一個頁面,把結果頁面輸出到瀏覽器或者文件系統。 OO Template Class:一個你可以用在自己程序中的面向對象的模板類。 SimpleTemplate:一個可以創建和結構化網站的模板引擎。它可以解析和編譯模板。 bTemplate:短小但是快速的模板類,允許你把PHP邏輯代碼從HTML修飾代碼中分離。 Savant:一個強大且輕量級的PEAR兼容模板系統。它是非編譯型的,使用PHP語言本身做為它的模板語言。 ETS - easy template system:可以使用完全相同數據重組模板的模板系統。 EasyTemplatePHP:適用於你的站點的一個簡單但是強大的模板系統。 vlibTemplate:一個快速、全能的模板系統,它包含一個緩存和調試類。 AvanTemplate:多位元組安全的模板引擎,佔用很少系統資源。它支持變數替換,內容塊可以設置顯示或隱藏 Grafx Software』s Fast Template:一個修改版本的Fast Template系統,它包括緩存功能,調試控制台以及沉默去除為賦值塊。 TemplatePower:一個快速、簡單、功能強大的模板類。主要功能有嵌套的動態塊支持,塊/文件包含支持以及顯示/隱藏未賦值的變數。 TagTemplate:這個庫的功能被設計來使用模板文件,同時允許你從HTML文件檢索信息。 htmltmpl: templating engine:一個適用於Python和PHP的模板引擎。它面向希望在項目中分離代碼和設計的web應用開發人員。 PHP Class for Parsing Dreamweaver templates:一個分析Dreamweaver模板的簡單類,被用於Gallery 2 和WordPress的自定義模塊中。 MiniTemplator (Template Engine):針對HTML文件的一個緊湊型模板引擎。對於模板變數和塊定義它具有簡單的語法。其中塊可以嵌套。 Layout Solution:簡化網站開發和維護。它擁有常用的變數和頁面元素使你不需要重復做頁面布局工作。 Cached Fast Template:它已經納入 FastTemplate ,允許你緩存模板文件,甚至可以在分離的塊內容上緩存不同的規格。 TinyButStrong:一個支持MySQL,Odbc,Sql-Server和ADODB的模板引擎。它包含7個方法和兩個屬性。 Brian Lozier』s php based template engine:只有2K大小,非常快並且是面向對象設計。 WACT:一個從設計中分離代碼的模板引擎。 PHPTAL:一個PHP下面的XML/XHTML模板庫。 Rong_View_Wudimei:Wudimei開發的國產框架Rong Framework的模板引擎,它類似於smarty,優點是速度快,缺點是模板標簽較少,不過夠用了。 框架介紹thinkphp
ThinkPHP是一個免費開源的,快速、簡單的面向對象的 輕量級PHP開發框架 ,創立於2006年初,遵循Apache2開源協議發布,是為了敏捷WEB應用開發和簡化企業應用開發而誕生的。ThinkPHP從誕生以來一直秉承簡潔實用的設計原則,在保持出色的性能和至簡的代碼的同時,也注重易用性。並且擁有眾多的原創功能和特性,在社區團隊的積極參與下,在易用性、擴展性和性能方面不斷優化和改進,已經成長為國內最領先和最具影響力的WEB應用開發框架,眾多的典型案例確保可以穩定用於商業以及門戶級的開發。
PHP認證級別
PHP課程由初級(IFE)、中級(IPE)和高級(IAE)三個部分。 IFE即Index Front-end Engineer的縮寫,指數前端工程師的意思。 IPE即 Index PHP Engineer 的縮寫,意思是指數PHP工程師。 IAE即 Index architecture/advanced engineer 的縮寫,意思是:指數高級/架構工程師。 PHP安全
PHP其實不過是Web伺服器的一個模塊功能,所以首先要保證Web伺服器的安全。當然Web伺服器要安全又必須是先保證系統安全,這樣就扯遠了,無窮無盡。常見的web安全漏洞有:注入攻擊,跨站攻擊,伺服器自身漏洞等,對應的詳細解釋,詳見:擴展閱讀中的《WEB安全性-2010_OWASP_TOP10》,這里有很詳盡的解釋。
PHP的優點學習過程和方法
PHP的語法類似於C,Perl,ASP或者JSP。對於那些對上述之一的語言較熟悉的人來說,PHP太簡單了。相反的,如果你對PHP了解較多,那麼你對於其他幾種語言的學習都很簡單了。你只需要很短的時間內將PHP的核心語言特點全部掌握,你可能已經非常了解HTML,甚至你已經知道怎樣用編輯設計軟體或者手工來製作好看的WEB站點。由於PHP代碼能夠無障礙的添加進你的站點,在你設計和維護站點的同時,你可以很輕松的加入PHP使得你的站點更加具有動態特性。
資料庫連接
PHP可以編譯成具有與許多資料庫相連接的函數。PHP與MySQL是絕佳的組合,如果再加上Apache伺服器,就是相當完美的了。你還可以自己編寫外圍的函數取間接存取資料庫。通過這樣的途徑當你更換使用的資料庫時,可以輕松的更改編碼以適應這樣的變化。PHPLIB就是最常用的可以提供一般事務需要的一系列基庫。
可擴展性
就像前面說的那樣,PHP已經進入了一個高速發展的時期。對於一個非程序員來說為PHP擴展附加功能可能會比較難,但是對於一個PHP程序員來說並不困難。
PHP可伸縮性
傳統上網頁的交互作用是通過CGI來實現的。CGI程序的伸縮性不很理想,因為它為每一個正在運行的CGI程序開一個獨立進程。解決方法就是將經常用來編寫CGI程序的語言的解釋器編譯進你的web伺服器(比如mod_perl,JSP)。PHP就可以以這種方式安裝,雖然很少有人願意這樣以CGI方式安裝它。內嵌的PHP可以具有更高的可伸縮性。
PHP免費安裝
PHP源代碼包安裝版:這個版本適合已經有自己獨立的網站域名、網站空間的專業網站建設用戶。使用方法依然其為簡單,只需三步:
第一、到官方網站:下載 PHP源代碼包安裝版最新版本,解壓下載文件,將其中的全部內容上傳到你的支持PHP的網站空間
第二、改更文件屬性,請將根目錄下以PHP為後綴名的文件和」/include/domain.php」和 「/attachments」 和 「/data」文件夾以及文件夾下所有的文件屬性改成「可讀」、「可寫」、「可執行」,通常是「755」。
第三、打開你的網站根目錄,系統會自動運行setup安裝程序,按提示點下一步操作即可。
友情提示:當你下載我們的軟體並看到這份說明時,則說明你一定是對企業網站建設有一定的需求或者你是一個網站建設技術學習者。
文件格式 對於只含有 php 代碼的文件,我們將在文件結尾處忽略掉 ?>。這是為了防止多餘的空格或者其它字元影響到代碼。 例如:
$foo = 'foo'; 縮進應該能夠反映出代碼的邏輯結果,盡量使用四個空格,禁止使用製表符TAB,因為這樣能夠保證有跨客戶端編程器軟體的靈活性。 例如: if(1==$x){$indented_code=1;if(1==$new_line){$more_indented_code=1;}}變數賦值建議保持相等間距和排列。 例如: $variable='demo';$var='demo2';每行代碼長度應控制在80個字元以內,最長不超過120個字元。因為 linux 讀入文件一般以80列為單位,就是說如果一行代碼超過80個字元,那麼系統將為此付出額外操作指令。這個雖然看起來是小問題,但是對於追求完美的程序員來說也是值得注意並遵守的規范。 每行結尾不允許有多餘的空格。 Php文件記事本編輯亂碼問題
一般情況下,記事本編輯器在對文件進行完編輯並保存之時,其默認編碼為ANSI,中文。然則更多的時候,php在語言環境設置時語言多數為utf-8,直接保存並用於apache等http-server解析後就會出現亂碼。
為此,應該注意在用記事本編輯完後可將文件用「另存為」的方式對文件進行保存,並將「文件類型」選擇「所有文件」,編碼與文件指定語言編碼一致即可。
算數運算符
PHP 的運算符包括算術運算符、賦值運算符、比較運算符和邏輯運算符。
算數運算符:
加,減,乘,除,取模(取余)+、-、*、/、%
賦值運算符:(以下解釋在許多書中有所不同)
賦值,加賦值,減賦值、乘賦值、除賦值,連字賦值
=、+=、-=、*=、/=、.=
位運算符:
位與、位或、位亦或、位非、左移、右移
&、|、^、~、<<、>>
比較運算符:
等於、全等於、不等於、不全等於、大於、小於、大於等於、小於等於
==、===、!=(<>)、!==、>、<、>=、<=
邏輯運算符:
邏輯與、邏輯或、邏輯非、邏輯亦或
&&、||、!、xor
字元串運算符:
. 連接兩個字元串

㈢ 請問php中xor 是什麼意思

邏輯異或 一個為真者 真 ,全真或者全假 為 假

㈣ php運算符優先順序問題之短路現象的原理是什麼

下表按照優先順序從高到低列出了運算符。同一行中的運算符具有相同優先順序,此時它們的結合方向決定求值順序。
運算符優先順序

結合方向
運算符
附加信息

無 clone new clone 和 new
左 [ array()
右 ++ -- ~ (int) (float) (string) (array) (object) (bool) @ 類型和遞增/遞減
無 instanceof 類型
右 ! 邏輯運算符
左 * / % 算術運算符
左 + - . 算術運算符和字元串運算符
左 << >> 位運算符
無 == != === !== <> 比較運算符
左 & 位運算符和引用
左 ^ 位運算符
左 | 位運算符
左 && 邏輯運算符
左 || 邏輯運算符
左 ? : 三元運算符
右 = += -= *= /= .= %= &= |= ^= <<= >>= => 賦值運算符
左 and 邏輯運算符
左 xor 邏輯運算符
左 or 邏輯運算符
左 , 多處用到
對具有相同優先順序的運算符,左結合方向意味著將從左向右求值,右結合方向則反之。對於無結合方向具有相同優先順序的運算符,該運算符有可能無法與其自身結合。

㈤ php小白 請問與 或 異或 取反是什麼意思

這些是數學邏輯運算,並不是PHP才有,這里涉及到一個布爾型數據類型的含義(真則為1,假則為0)
舉個例子,假設有條件a和條件b
與關系:變數$c = $a &&$ b,只有$a與$b兩個條件都滿足時($a為真,判斷結果等於1;且$b為真,判斷結果等於1),c才為真($c = 1),否則c為假($c = 0)
或關系:變數$c = $a ||$ b,只要$a或者$b有其中一個滿足時($a真$b假,$a假$b真,$a真$b真),$c為真
異或關系:變數$c = $a ^ $b,只要$a、$b條件判斷結果不同($a真$b假,$a假$b真),則$c為真
取反:$c = !$a,當條件$a為真($a = 1)則$c = 0;$a為假($a = 0)則$c = 1;

㈥ php代碼提示:Parse error: syntax error, unexpected T_LOGICAL_XOR, expecting T_STRING

function XOR($str1,$str2) {
$temp1=Array();
$temp2=Array();
$hex = "";
if (strlen($str1)!= strlen($str2)) {
echo "異或數據長度不等";
}
for ($i = 0; $i < strlen($str1); $i++) {
$temp1[]=substr($str1,$i,1); //將單個字元存到數組當中------------改動
$temp2[]=substr($str2,$i,1); //將單個字元存到數組當中-----------改動
//$temp1[$i];

$hex = $hex+ strToHex($temp1[$i] ^ $temp2[$i]);
}
return strtoupper($hex);
}
看看這樣還報錯嗎
希望對你有用,望採納

㈦ php中賦值運算符有哪些

㈧ PHP語言PHP語言里的位運算符&、|、^ 、~、〈〈 、〉〉這些符號我一個也不懂,希望高手給個全面的解釋!拜

"&" 按位與運算
按位與運算符"&"是雙目運算符。其功能是參與運算的兩數各對應的二進位相與。只有對應的兩個二進位均為1時,結果位才為1,否則為0。參與運算的數以補碼方式出現。

例如:9&5可寫算式如下:

00001001 (9的二進制補碼)

&00000101 (5的二進制補碼)

00000001 (1的二進制補碼)

<?php
$a = 9;
$b = 5;
echo sprintf("%b", $a&$b);
?>

"|" 按位或運算
按位或運算符「|」是雙目運算符。其功能是參與運算的兩數各對應的二進位相或。只要對應的二個二進位有一個為1時,結果位就為1。參與運算的兩個數均以補碼出現。

例如:9|5可寫算式如下:

00001001

|00000101

00001101 (十進制為13)可見9|5=13

<?php
$a = 9;
$b = 5;
echo sprintf("%b", $a|$b)."\n"; //二進制
echo sprintf("%d", $a|$b)."\n"; //十進制

"^" 按位異或運算
按位異或運算符「^」是雙目運算符。其功能是參與運算的兩數各對應的二進位相異或,當兩對應的二進位相異時,結果為1。參與運算數仍以補碼出現,例如9^5可寫成算式如下:

00001001

^00000101

00001100 (十進制為12)

<?php
$a = 9;
$b = 5;
echo sprintf("%b", $a^$b)."\n"; //二進制
echo sprintf("%d", $a^$b)."\n"; //十進制

"~" 求反運算
求反運算符~為單目運算符,具有右結合性。其功能是對參與運算的數的各二進位按位求反。

例如~9的運算為:

~(0000000000001001)結果為:1111111111110110

<?php
$a = 9;
$b = 5;
echo sprintf("%b", ~$a)."\n"; //二進制

"〈〈" 左移運算
左移運算符「<<」是雙目運算符。其功能把「<< 」左邊的運算數的各二進位全部左移若干位,由「<<」右邊的數指定移動的位數,高位丟棄,低位補0。

例如:

a<<4

指把a的各二進位向左移動4位。如a=00000011(十進制3),左移4位後為00110000(十進制48)。

<?php
$a = 3;
$temp = $a<<4;
echo sprintf("%d", $temp)."\n"; //十進制

「>>」 右移運算
右移運算符「>>」是雙目運算符。其功能是把「>> 」左邊的運算數的各二進位全部右移若干位,「>>」右邊的數指定移動的位數。

例如:

設 a=48,

a>>4

表示把00110000右移為00000011(十進制3)。

應該說明的是,對於有符號數,在右移時,符號位將隨同移動。當為正數時,最高位補0,而為負數時,符號位為1,最高位是補0或是補1 取決於編譯系統的規定

<?php
$a = 48;
$temp = $a>>4;
echo sprintf("%d", $temp)."\n"; //十進制

㈨ PHP入門基礎教程

PHP入門基礎教程大全

PHP於1994年由Rasmus Lerdorf創建,剛剛開始是Rasmus Lerdorf為了要維護個人網頁而製作的一個簡單的用Perl語言編寫的程序。這些工具程序用來顯示 Rasmus Lerdorf 的個人履歷,以及統計網頁流量。後來又用C語言重新編寫,包括可以訪問資料庫。他將這些程序和一些表單直譯器整合起來,稱為 PHP/FI。PHP/FI 可以和資料庫連接,產生簡單的動態網頁程序。為幫助大家入門學習php,我為大家分享PHP入門知識教程如下:

1、嵌入方法:

類似ASP的<%,PHP可以是<?php或者是<?,結束符號是?>,當然您也可以自己指定。

2、引用文件:

引用文件的方法有兩種:require 及 include。

require 的使用方法如 require("MyRequireFile.php"); 。這個函數通常放在 PHP 程序的最前面,PHP 程序在執行前,就會先讀入 require 所指定引入的文件,使它變成 PHP 程序網頁的一部份。常用的函數,亦可以這個方法將它引入網頁中。

include 使用方法如 include("MyIncludeFile.php"); 。這個函數一般是放在流程式控制制的處理部分中。PHP 程序網頁在讀到 include 的文件時,才將它讀進來。這種方式,可以把程序執行時的流程簡單化。

3、注釋方法:

<?php

echo "這是第一種例子。 " ; // 本例是 C++ 語法的注釋 (PHP的注釋跟C差不多!)

/* 本例採用多行的

注釋方式 */

echo "這是第二種例子。 " ;

echo "這是第三種例子。 " ; # 本例使用 UNIX Shell 語法注釋

?>

4、變數類型:

$mystring = "我是字元串" ;

$NewLine = "換行了 " ;

$int1 = 38 ;

$float1 = 1.732 ;

$float2 = 1.4E+2 ;

$MyArray1 = array( "子" , "丑" , "寅" , "卯" );

這里引出兩個問題,首先PHP變數以$開頭,第二PHP語句以;結尾,可能ASP程序員會不適應。這兩個遺漏也是程序上大多錯誤所在。

5、運算符號:

數**非法字眼已被屏蔽**算:

符號 意義

+ 加法運算

- 減法運算

* 乘法運算

/ 除法運算

% 取余數

++ 累加

-- 遞減

字元串運算:

運算符號只有一個,就是英文的句號。它可以將字元串連接起來,變成合並的新字元串。類似ASP中的&

<?

$a = "PHP 4" ;

$b = "功能強大" ;

echo $a.$b;

?>

這里也引出兩個問題,首先PHP中輸出語句是echo,第二類似ASP中的<%=變數%>,PHP中也可以<?=變數?>。

邏輯運算:

符號 意義

< 小於

> 大於

<= 小於或等於

>= 大於或等於

== 等於

!= 不等於

&& 而且 (And)

and 而且 (And)

或者 (Or)

or 或者 (Or)

xor 異或 (Xor)

! 不 (Not)

學習目的:掌握php的流程式控制制

1、if..else 循環有三種結構

第一種是只有用到 if 條件,當作單純的判斷。解釋成 "若發生了某事則怎樣處理"。語法如下:

if (expr) { statement }

其中的 expr 為判斷的條件,通常都是用邏輯運算符號當判斷的條件。而 statement 為符合條件的執行部分程序,若程序只有一行,可以省略大括弧 {}。

範例:本例省略大括弧。

<?php

if ($state==1)echo "哈哈" ;

?>

這里特別注意的是,判斷是否相等是==而不是=,ASP程序員可能常犯這個錯誤,= 是賦值。

範例:本例的執行部分有三行,不可省略大括弧。

<?php

if ($state==1) {

echo "哈哈 ;

echo "<br>" ;

}

?>

第兩種是除了 if 之外,加上了 else 的條件,可解釋成 "若發生了某事則怎樣處理,否則該如何解決"。語法如下

if (expr) { statement1 } else { statement2 } 範例:上面的例子來修改成更完整的處理。其中的 else 由於只有一行執行的指令,因此不用加上大括弧。

<?php

if ($state==1) {

echo "哈哈" ;

echo "<br>";

}

else{

echo "呵呵";

echo "<br>";

}

?>

第三種就是遞歸的 if..else 循環,通常用在多種決策判斷時。它將數個 if..else 拿來合並運用處理。

直接看下面的例子

<?php

if ( $a > $b ) {

echo "a 比 b 大" ;

} elseif ( $a == $b ) {

echo "a 等於 b" ;

} else {

echo "a 比 b 小" ;

}

?>

上例只用二層的 if..else 循環,用來比較 a 和 b 兩個變數。實際要使用這種遞歸 if..else 循環時,請小心使用,因為太多層的循環容易使設計的邏輯出問題,或者少打了大括弧等,都會造成程序出現莫名其妙的問題。

2、 for 循環就單純只有一種,沒有變化,它的語法如下

for (expr1; expr2; expr3) { statement }

其中的 expr1 為條件的`初始值。expr2 為判斷的條件,通常都是用邏輯運算符號 (logical operators) 當判斷的條件。expr3 為執行 statement 後要執行的部份,用來改變條件,供下次的循環判斷,如加一..等等。而 statement 為符合條件的執行部分程序,若程序只有一行,可以省略大括弧 {}。

下例是用 for 循環寫的的例子。

<?php

for ( $i = 1 ; $i <= 10 ; $i ++) {

echo "這是第".$i."次循環<br>" ;

}

?>

3、 switch 循環,通常處理復合式的條件判斷,每個子條件,都是 case 指令部分。在實作上若使用許多類似的 if 指令,可以將它綜合成 switch 循環。

語法如下

switch (expr) { case expr1: statement1; break; case expr2: statement2; break; default: statementN; break; }

其中的 expr 條件,通常為變數名稱。而 case 後的 exprN,通常表示變數值。冒號後則為符合該條件要執行的部分。注意要用 break 跳離循環。

<?php

switch ( date ( "D" )) {

case "Mon" :

echo "今天星期一" ;

break;

case "Tue" :

echo "今天星期二" ;

break;

case "Wed" :

echo "今天星期三" ;

break;

case "Thu" :

echo "今天星期四" ;

break;

case "Fri" :

echo "今天星期五" ;

break;

default:

echo "今天放假" ;

break;

}

?>

這里需要注意的是break;別遺漏了,default,省略是可以的。

很明顯的,上述的例子用 if 循環就很麻煩了。當然在設計時,要將出現機率最大的條件放在最前面,最少出現的條件放在最後面,可以增加程序的執行效率。上例由於每天出現的機率相同,所以不用注意條件的順序。

學會構建資料庫

在PHP中,MY SQL的命令行編輯可能會令初學者感到很麻煩,不要緊,你下載一個PHPMYADMIN安裝一下,以後建立編輯資料庫可以靠它了。

下面說一下它的使用。

進入了phpmyadmin後,我們首先需要建立一個資料庫,

Language (*) 這里選擇中文簡體,然後在左邊的 創建一個新的資料庫 這里填寫資料庫名字,點擊創建即可。

然後在左邊下拉菜單中選擇那個已經創建的資料庫。在下面的

在資料庫 shop 中創建一個新表 :

名字 :

欄位數 :

中填寫表名字和大致你認為的欄位數(不夠或者多了都不要緊,以後可以再添加或者預設),按執行。

然後就可以開始建立表了。

第一欄是欄位的名字;第二欄選擇欄位類型:

我們常用的是以下幾個:

1)VARCHAR,文本類型

2)INT,整數類型

3)FLOAT,浮點數類型

4)DATE,日期型

5)大家或許會問,自動添加的ID在哪裡?這個只要選擇INT類型,在後面的額外中選擇 auto_increment 就可以了。

建立了表以後,可以在左邊看到你建立的表,點擊以後,你可以:

1)按右邊的結構:查看修改表結構

2)按右邊的瀏覽:查看錶中的數據

3)按右邊的SQL:運行SQL語句

4)按右邊的插入:插入一行記錄

5)按右邊的清空:刪除表中所有記錄

6)按右邊的刪除:刪除表

還有一個很重要的功能就是導入和導出,當我們本機做好了程序和資料庫的時候,需要在伺服器上也有一個本地鏡像,如果是ASP的ACCESS簡單了,直接上傳MDB文件即可,如果是SQL SERVER也可以連接遠端伺服器進行導入。那麼MY SQL中你可以導出所有的SQL語句,到了遠端伺服器的PHPMYADMIN上,創建資料庫後按SQL,粘帖你剛才復制下來的所有本級生成的SQL語句即可。

學會連接資料庫

PHP簡直就是一個函數庫,豐富的函數使PHP的某些地方相當簡單。建議大家down一本PHP的函數手冊,總用的到。

我這里就簡單說一下連接MYSQL資料庫。

1、mysql_connect

打開 MySQL 伺服器連接。

語法: int mysql_connect(string [hostname] [:port], string [username], string [password]); 返回值: 整數

本函數建立與 MySQL 伺服器的連接。其中所有的參數都可省略。當使用本函數卻不加任何參數時,參數 hostname 的默認值為 localhost、參數 username 的默認值為 PHP 執行行程的擁有者、參數 password 則為空字元串 (即沒有密碼)。而參數 hostname 後面可以加冒號與埠號,代表使用哪個埠與 MySQL 連接。當然在使用資料庫時,早點使用 mysql_close() 將連接關掉可以節省資源。

2、 mysql_select_db

選擇一個資料庫。

語法: int mysql_select_db(string database_name, int [link_identifier]); 返回值: 整數

本函數選擇 MySQL 伺服器中的資料庫以供之後的資料查詢作業 (query) 處理。成功返回 true,失敗則返回 false。

最簡單的例子就是:

$conn=mysql_connect ("127.0.0.1", "", "");

mysql_select_db("shop");

連接機MY SQL資料庫,打開SHOP資料庫。在實際應用中應當加強點錯誤判斷。

學會讀取數據

先看兩個函數:

1、mysql_query

送出一個 query 字元串。 語法: int mysql_query(string query, int [link_identifier]); 返回值: 整數

本函數送出 query 字元串供 MySQL 做相關的處理或者執行。若沒有指定 link_identifier 參數,則程序會自動尋找最近打開的 ID。當 query 查詢字元串是 UPDATE、INSERT 及 DELETE 時,返回的可能是 true 或者 false;查詢的字元串是 SELECT 則返回新的 ID 值,當返回 false 時,並不是執行成功但無返回值,而是查詢的字元串有錯誤。

2、mysql_fetch_object 返回類資料。 語法: object mysql_fetch_object(int result, int [result_typ]); 返回值: 類

本函數用來將查詢結果 result 拆到類變數中。若 result 沒有資料,則返回 false 值。

看一個簡單的例子:

<?

$exec="select * from user";

$result=mysql_query($exec);

while($rs=mysql_fetch_object($result))

{

echo "username:".$rs->username."<br>";

}

?>

當然,表user中有一個username的欄位,這就類似asp中的

<%

exec="select * from user"

set rs=server.createobject("adodb.recordset")

rs.open exec,conn,1,1

do while not rs.eof

response.write "username:"&rs("username")&"<br>"

rs.movenext

loop

%>

當然先要連接資料庫,一般我們 require_once('conn.php');而conn.php裡面就是上一次說的連接資料庫的代碼。

小小的兩條命令可以完成讀取數據的工作了

學會添加刪除修改數據

mysql_query($exec);

單這個語句就可以執行所有的操作了,不同的就是$exec這個sql語句

添加:$exec="insert into tablename (item1,item2) values ('".$_POST['item1']."',".$_POST['item1'].")";

刪除:$exec="delete from tablename where...";

修改:$exec="update tablename set item1='".$_POST['item1']."' where ...";

說到這里就要說一下表單和php變數傳遞,如果表單中的一個 <input name="item1" type="text" id="item1">

表單以POST提交的,那麼處理表單文件就可以用$_POST['item1']得到變數值,同樣以GET提交的就是$_GET['item1']

是不是很簡單?但是通常$exec會有問題,因為可能您的SQL語句會很長,您會遺漏.連接符,或者'來包圍字元型欄位。

我們可以注釋mysql_query($exec);語句用echo $exec;代替來輸出$exec以檢查正確性。如果您還不能察覺$exec有什麼錯誤的話,可以復制這個sql語句到phpmyadmin中執行,看看它的出錯信息。還有需要注意的是,我們不要使用一些敏感的字元串作為欄位名字,否則很可能會出現問題,比如說date什麼的。變數的命名,欄位的命名遵循一點規律有的時候對自己是一種好處,初學者並不可忽視其重要性。

學會SESSION的使用

SESSION的作用很多,最多用的就是站點內頁面間變數傳遞。

在頁面開始我們要session_start();開啟SESSION;

然後就可以使用SESSION變數了,比如說要賦值就是:$_SESSION['item']="item1";要得到值就是$item1=$_SESSION['item'];,很簡單吧。這里我們可能會使用到一些函數,比如說判斷是不是某SESSION變數為空,可以這么寫:empty($_SESSION['inum'])返回true or false。

下面綜合一下前面所說的我們來看一個登陸程序,判斷用戶名密碼是否正確。

登陸表單是這樣:login.php

<table width="100%" height="100%" border="0" align="center" cellpadding="0" cellspacing="0">

<tr>

<form action="checklogin.php" method="post"><td align="center" valign="middle"><table width="400" border="0" cellpadding="5" cellspacing="1" class="tablebg">

<tr class="tdbg">

<td colspan="2"><p align="center">Administrators Login</p></td>

</tr>

<tr class="tdbg">

<td><p align="center">Username</p></td>

<td><p align="center">

<input name="username" type="text" id="username">

</p></td>

</tr>

<tr class="tdbg">

<td><p align="center">Password</p></td>

<td><p align="center">

<input name="password" type="password" id="password">

</p></td>

</tr>

<tr class="tdbg">

<td colspan="2"><p align="center">

<input type="submit" name="Submit" value="Submit">

<input type="reset" name="Submit2" value="Clear">

</p></td>

</tr>

</table></td></form>

</tr>

</table>

處理文件是這樣

<?php

require_once('conn.php');

session_start();

$username=$_POST['username'];

$password=$_POST['password'];

$exec="select * from admin where username='".$username."'";

if($result=mysql_query($exec))

{

if($rs=mysql_fetch_object($result))

{

if($rs->password==$password)

{

$_SESSION['adminname']=$username;

header("location:index.php");

}

else

{

echo "<script>alert('Password Check Error!');location.href='login.php';</script>";

}

}

else

{

echo "<script>alert('Username Check Error!');location.href='login.php';</script>";

}

}

else

{

echo "<script>alert('Database Connection Error!');location.href='login.php';</script>";

}

?>

conn.php是這樣:

<?php

$conn=mysql_connect ("127.0.0.1", "", "");

mysql_select_db("shop");

?>

由於 $_SESSION['adminname']=$username;我們可以這樣寫驗證是否登陸語句的文件:checkadmin.php

<?php

session_start();

if($_SESSION['adminname']=='')

{

echo "<script>alert('Please Login First');location.href='login.php';</script>";

}

?>

做一個分頁顯示

關鍵就是用到了SQL語句中的limit來限定顯示的記錄從幾到幾。我們需要一個記錄當前頁的變數$page,還需要總共的記錄數$num

對於$page如果沒有我們就讓它=0,如果有<0就讓它也=0,如果超過了總的頁數就讓他=總的頁數。

$execc="select count(*) from tablename ";

$resultc=mysql_query($execc);

$rsc=mysql_fetch_array($resultc);

$num=$rsc[0];

這樣可以得到記錄總數

ceil($num/10))如果一頁10記錄的話,這個就是總的頁數

所以可以這么寫

if(empty($_GET['page']))

{

$page=0;

}

else

{

$page=$_GET['page'];

if($page<0)$page=0;

if($page>=ceil($num/10))$page=ceil($num/10)-1;//因為page是從0開始的,所以要-1

}

這樣$exec可以這么寫 $exec="select * from tablename limit ".($page*10).",10";

//一頁是10記錄的

最後我們需要做的就是幾個連接:

<a href="xxx.php?page=0">FirstPage</a>

<a href="xxx.php?page=<?=($page-1)?>">PrevPage</a>

<a href="xxx.php?page=<?=($page+1)?>">NextPage</a>

<a href="xxx.php?page=<?=ceil($num/10)-1?>">LastPage</a>

注意事項

1、注意不要漏了分號

2、注意不要漏了變數前的$

3、使用SESSION的時候注意不要遺漏session_start();

如果發生錯誤的時候,可以採用以下方法:

1、如果是SQL語句出錯,就注釋瞭然後輸出SQL語句,注意也要注釋調後續的執行SQL語句

2、如果是變數為空,大多是沒有傳遞到位,輸出變數檢查一下,檢查一下表單的id和name

3、如果是資料庫連接出錯,檢查是否正確打開MY SQL和是否遺漏了連接語句

4、注意縮進,排除括弧不區配的錯誤

在做大網站的時候,我的思路是先構建資料庫,確定每一個欄位的作用,和表之間的關系。然後設計後台界面,從添加數據開始做起,因為添加是否成功可以直接到資料庫裡面驗證,做好了添加再做顯示的頁面,最後才是兩者的結合。一般來說後台就包括添加刪除修改和顯示,後台沒有問題了,前台也沒有什麼大問題。前台還需要注意安全性和容錯還有就是輸出格式。

學會用PHP上傳文件和發郵件

上傳文件表單必須加上 enctype="multipart/form-data"

和 <input type="file" name="file">

下面看一下代碼:

$f=&$HTTP_POST_FILES['file'];

$dest_dir='uploads';//設定上傳目錄

$dest=$dest_dir.'/'.date("ymd")."_".$f['name'];//我這里設置文件名為日期加上文件名避免重復

$r=move_uploaded_file($f['tmp_name'],$dest);

chmod($dest, 0755);//設定上傳的文件的屬性

上傳的文件名為date("ymd")."_".$f['name'] ,可以在以後插入到資料庫的時候用到,PHP實際上是把你上傳的文件從臨時目錄移動到指定目錄。move_uploaded_file($f['tmp_name'],$dest);這是關鍵

至於發郵件就更加簡單,可以使用mail()函數

mail("收件人地址","主題","正文","From:發件人 Reply-to:發件人的地址");

不過mail()需要伺服器的支持,在WINDOWS下還需要配置SMTP伺服器,一般來說外面的LINUX空間都行。

好像上傳文件和發郵件比ASP簡單很多,只要調用函數就可以了。ASP還需要用到伺服器的不同組件比如FSO、JMAIL什麼的。

;

㈩ php中xor是異或,為什麼值的改變不一樣

真異或假的結果是真,假異或真的結果也是真,真異或真的結果是假,假異或假的結果是假。就是說兩個值不相同,則異或結果為真。反之,為假。 不同為1,相同為0,如1001加1010等於0011.
異或也叫半加運算,其運演算法則相當於不帶進位的二進制加法:二進制下用1表示真,0表示假,則異或的運演算法則為:0異或0=0,1異或0=1,0異或1=1,1異或1=0,這些法則與加法是相同的,只是不帶進位。

閱讀全文

與xorphp相關的資料

熱點內容
扣扣加密技巧 瀏覽:720
蘋果如何創建伺服器錯誤 瀏覽:495
軟考初級程序員大題分值 瀏覽:473
js壓縮視頻文件 瀏覽:578
linux如何通過命令創建文件 瀏覽:989
應用加密app還能訪問應用嘛 瀏覽:433
安卓怎麼用支付寶交違章罰款 瀏覽:665
php面向對象的程序設計 瀏覽:504
數據挖掘演算法書籍推薦 瀏覽:894
投訴聯通用什麼app 瀏覽:150
web伺服器變更ip地址 瀏覽:954
java正則表達式驗證郵箱 瀏覽:360
成熟商務男裝下載什麼軟體app 瀏覽:609
加密2h代表長度是多少厘米 瀏覽:23
拍賣程序員 瀏覽:101
電腦的圖片放在哪個文件夾 瀏覽:276
unsignedintjava 瀏覽:217
編譯器下載地址 瀏覽:43
什麼是面對對象編程 瀏覽:708
b站伺服器什麼時候恢復 瀏覽:721