1. PHP的基礎(chǔ)知識(shí)點(diǎn)
PHP中類的繼承屬于單繼承,一個(gè)子類只能繼承一個(gè)父類??梢娦詾閜ublic protected的屬性和方法可以被繼承。 繼承的方法或?qū)傩钥梢员恢貙?,可見性越來越大?/p>
PHP中的變量名區(qū)分大小寫,但類名、函數(shù)名不區(qū)分大小寫。
2. error_reporting()函數(shù)的作用
error_reporting()函數(shù)的作用是臨時(shí)設(shè)置腳本執(zhí)行過程中的錯(cuò)誤報(bào)告級別。
error_reporting(E_ALL ^ E_NOTICE); // 除了E_NOTICE之外,報(bào)告所有的錯(cuò)誤
使用 error_reporting(0) 或者在函數(shù)前面加 @,可以抑制錯(cuò)誤信息輸出,以防止錯(cuò)誤消息泄露敏感信息。
3. HTTP狀態(tài)碼
在HTTP1.1中,狀態(tài)碼401的含義是未經(jīng)授權(quán);如果想返回“找不到文件”,可使用header函數(shù),語句為:header(“HTTP/1.1 404 Not Found”);
4. require和include的區(qū)別
include 引入文件,如果引入的文件發(fā)生錯(cuò)誤,會(huì)產(chǎn)生一條警告信息,后續(xù)的代碼會(huì)繼續(xù)執(zhí)行。
require引入文件,會(huì)更加嚴(yán)謹(jǐn)一些,如果引入的文件發(fā)生錯(cuò)誤,會(huì)拋出一個(gè)致命的錯(cuò)誤,并中斷后續(xù)代碼的執(zhí)行。因此我們常常用require引入一個(gè)非常重要的文件。
5. 存儲(chǔ)引擎 MyISAM 和 InnoDB的區(qū)別
MyISAM適合于一些需要大量查詢的應(yīng)用,但其對于有大量寫操作并不是很好,MyISAM不支持事務(wù)、外鍵和行鎖。MyISAM的每個(gè)數(shù)據(jù)表包括三個(gè)文件,分別是表的結(jié)構(gòu)、表的索引和表的數(shù)據(jù),表的索引和表的數(shù)據(jù)是分開存儲(chǔ)的。
InnoDB在寫操作比較多的時(shí)候會(huì)更優(yōu)秀,InnoDB支持事務(wù)、外鍵和行鎖。InnoDB的數(shù)據(jù)表包括兩個(gè)文件,表的索引和數(shù)據(jù)存儲(chǔ)在同一個(gè)文件中,默認(rèn)是共享表空間,即所有數(shù)據(jù)表的索引和數(shù)據(jù)存儲(chǔ)在同一個(gè)文件中,但也可以設(shè)置為獨(dú)立表空間(若要對數(shù)據(jù)表采用分區(qū)技術(shù),必須設(shè)置為獨(dú)立表空間)。
6. 如何得到當(dāng)前PHP腳本的路徑(包括所有參數(shù))?
echo “http://”.SERVER[‘HTTPHOST′]._SERVER[‘REQUEST_URI’]; echo ‘http://’.SERVER[‘HTTPHOST′]._SERVER[‘PHP_SELF’].’?’.
7. 在php中不使用第三個(gè)變量,如何實(shí)現(xiàn)交換兩個(gè)變量的值?
<?php b,a) = array(a,b); echo a.b;
或
<?php a=a.b;b = substr(a,0,strlen(a)-strlen(b));a = substr(a,strlen(b)); echo a.b
8. 自定義一個(gè)PHP函數(shù),要求用冒泡排序?qū)?shù)組進(jìn)行升序排列
<?php function bubbleSort($arr){ $length=count($arr); if($length==0) return false; for($i=0;$i<$length-1;$i++){ for($j=0;$j<$length-$i-1;$j++){ if($arr[$j]>=$arr[$j+1]){ $temp=$arr[$j+1]; $arr[$j+1]=$arr[$j]; $arr[$j]=$temp; } } } return $arr; }
9. 如何將a.txt文件里的內(nèi)容追加到b.txt文件中?
file_put_contents(‘b.txt’, file_get_contents(‘a(chǎn).txt’), FILE_APPEND);
10. 表單提交方式中的get和post有什么區(qū)別?文章來源:http://www.zghlxwxcb.cn/news/detail-489366.html
get是表單的默認(rèn)提交方式,會(huì)把數(shù)據(jù)附加到表單的action屬性所指向的URL中,在URL中可見,安全性較差;post會(huì)把數(shù)據(jù)放到http的包體中,用戶一般看不到,安全性較好。 get傳遞的數(shù)據(jù)量受URL長度的限制,故數(shù)據(jù)量較小,一般只有幾kb;而post傳遞的數(shù)據(jù)量受php.ini的限制,數(shù)據(jù)量較大,如果有文件上傳的話,表單的提交方式一定要用post。 get傳遞的數(shù)據(jù)會(huì)被緩存下來,可能有安全性問題,而post方式?jīng)]有這個(gè)問題。 get傳遞的數(shù)據(jù)通過GET[]獲取,post傳遞的數(shù)據(jù)通過_POST[]獲取。文章來源地址http://www.zghlxwxcb.cn/news/detail-489366.html
到了這里,關(guān)于php算法面試題及答案的文章就介紹完了。如果您還想了解更多內(nèi)容,請?jiān)谟疑辖撬阉鱐OY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!