《PHP應用:33道php常見面試題及答案》要點:
本文介紹了PHP應用:33道php常見面試題及答案,希望對您有用。如果有疑問,可以聯(lián)系我們。
PHP實例1.在PHP中,當前腳本的名稱(不包括路徑和查詢字符串)記錄在預定義變量(1)中;而鏈接到當前頁面的URL記錄在預定義變量(2)中.
代碼如下:
答:echo $_SERVER['PHP_SELF']; echo $_SERVER["HTTP_REFERER"];
PHP實例2.執(zhí)行程序段將輸出(3).
代碼如下:
答:0
PHP實例3.在HTTP 1.0中,狀態(tài)碼 401 的含義是(4);如果返回“找不到文件”的提示,則可用 header 函數(shù),其語句為(5).
代碼如下:
答:(4)未授權 (5) header("HTTP/1.0 404 Not Found");
PHP實例4.數(shù)組函數(shù) arsort 的作用是(6);語句 error_reporting(2047)的作用是(7).
代碼如下:
答:(6)對數(shù)組進行逆向排序并保持索引關系? (7)All errors and warnings
PHP實例5.寫出一個正則表達式,過慮網(wǎng)頁上的所有JS/VBS腳本(即把標記及其內(nèi)容都去掉):(9).
代碼如下:
答:/<[^>].*?>.*?<\/>/si
PHP實例6.以Apache模塊的方式安裝PHP,在文件http.conf中首先要用語句(10)動態(tài)裝載PHP模塊,
PHP實例然后再用語句(11)使得Apache把所有擴展名為php的文件都作為PHP腳本處理.
代碼如下:
答:(10) LoadModule??? php5_module "D:/xampp/apache/bin/php5apache2.dll"
?? (11) AddType application/x-httpd-php-source .phps
??????? AddType application/x-httpd-php .php .php5 .php4 .php3 .phtml
PHP實例7.語句 include 和 require 都能把另外一個文件包含到當前文件中,它們的區(qū)別是(12);為了避免多次包含同一文件,可以用語句(13)來代替它們.
代碼如下:
答:(12) 發(fā)生異常時include產(chǎn)生警告require產(chǎn)生致命錯誤? (13) require_once()/include_once()
PHP實例8.類的屬性可以序列化后保存到 session 中,從而以后可以恢復整個類,這要用到的函數(shù)是(14).
代碼如下:
答:serialize() /unserialize()
PHP實例9.一個函數(shù)的參數(shù)不能是對變量的引用,除非在php.ini中把(15)設為on.
代碼如下:
答:allow_call_time_pass_reference
PHP實例10.SQL 中LEFT JOIN的含義是(16).
PHP實例如果 tbl_user記錄了學生的姓名(name)和學號(ID),
PHP實例tbl_score記錄了學生(有的學生考試以后被開除了,沒有其記錄)的學號(ID)和考試成績(score)以及考試科目(subject),
PHP實例要想打印出各個學生姓名及對應的的各科總成績,則可以用SQL語句(17).
代碼如下:
答:(16) 自然左外連接
???? (17) select name , count(score) as sum_score from tbl_user left join tbl_score on tbl_user.ID=tbl_score.ID? group by tbl_user.ID
PHP實例11..在PHP中,heredoc是一種特殊的字符串,它的結束標志必須(18).
代碼如下:
答:結束標識符所在的行不能包含任何其它字符除";"
PHP實例12.用PHP打印出前一天的時間格式是2006-5-10 22:21:21
代碼如下:
答:echo date('Y-m-d H:i:s', strtotime('-1 day'));
PHP實例13.echo(),print(),print_r()的區(qū)別
代碼如下:
答:echo是語言結構,無返回值;print功能和echo基本相同,不同的是print是函數(shù),有返回值;print_r是遞歸打印,用于輸出數(shù)組對象
PHP實例14.如何實現(xiàn)字符串翻轉?
代碼如下:
答:.用strrev函數(shù)唄,不準用PHP內(nèi)置的就自己寫:
strrev($str)
{
??? $len=strlen($str);
??? $newstr = '';
??? for($i=$len;$i>=0;$i--)
??? {
??????? $newstr .= $str{$i};
??? }
??? return $newstr;
}
PHP實例15.實現(xiàn)中文字串截取無亂碼的方法.
代碼如下:
答:mb_substr()
PHP實例16.使用php寫一段簡單查詢,查出所有姓名為“張三”的內(nèi)容并打印出來
PHP實例表名User
PHP實例Name????????? Tel????????????? Content???????? Date
PHP實例張三??????? 13333663366??????? 大專畢業(yè)?????? 2006-10-11
PHP實例張三??????? 13612312331??????? 本科畢業(yè)?????? 2006-10-15
PHP實例張四??????? 021-55665566?????? 中專畢業(yè)?????? 2006-10-15
代碼如下:
答:SELECT Name,Tel,Content,Date FROM User WHERE Name='張三'
PHP實例17.如何使用下面的類,并解釋下面什么意思?
PHP實例class test
{
??? Get_test($num)
??? {
??????? $num=md5(md5($num)."En");
??????? return $num;
??? }
}
PHP實例答:用法:
代碼如下:
$get_test = new test();
$result = $get_test->Get_test(2);
PHP實例將$num變量進行兩次md5后返回,第2次的md5中的參數(shù),在第一次md5($num)后多加了En
PHP實例18.使用五種以上方式獲取一個文件的擴展名
PHP實例要求:dir/upload.image.jpg,找出 .jpg 或者 jpg ,
代碼如下:
答:使用五種以上方式獲取一個文件的擴展名
1)
get_ext1($file_name)
{
??? return strrchr($file_name, '.');
}
2)
get_ext2($file_name)
{
??? return substr($file_name, strrpos($file_name, '.'));
}
3)
get_ext3($file_name)
{
??? return array_pop(explode('.', $file_name));
}
4)
get_ext4($file_name)
{
??? $p = pathinfo($file_name);
??? return $p['extension'];
}
5)
get_ext5($file_name)
{
??? return strrev(substr(strrev($file_name), 0, strpos(strrev($file_name), '.')));
}
PHP實例19.如何修改SESSION的生存時間
PHP實例這個函式庫讓你處理和顯示各式格式的圖檔,它的另一個常見用途是制作所圖檔.GD 以外的另一個選擇是 ImageMagick,但這個函式庫并不內(nèi)建于 PHP 之中,必須由系統(tǒng)管理員安裝在伺服器上答:其實 Session 還提供了一個函數(shù) session_set_cookie_params(); 來設置 Session 的生存期的,該函數(shù)必須在 session_start() 函數(shù)調用之前調用:
PHP實例<?php
// 保存一天
$lifeTime = 24 * 3600;
session_set_cookie_params($lifeTime);
session_start();
$_SESSION["admin"] = true;
?>
PHP實例20. 請寫一個函數(shù),實現(xiàn)以下功能: 字符串“open_door” 轉換成 “OpenDoor”、”make_by_id” 轉換成 ”MakeById”.
代碼如下:
答:
Function test($str){
$arr1=explode('_',$str);
//$arr2=array_walk($arr1,ucwords( ));
$str = implode(' ',$arr1);
return ucwords($str);
}
$aa='open_door';
echo test($aa);
?>
PHP實例21. 如何用php的環(huán)境變量得到一個網(wǎng)頁地址的內(nèi)容?ip地址又要怎樣得到?
代碼如下:
答:$_SERVSR[‘REQUEST_URI']
$_SERVER[‘REMOTE_ADDR']
PHP實例22.求兩個日期的差數(shù),例如2007-2-5 ~ 2007-3-6 的日期差數(shù)
代碼如下:
答:(strtotime(‘2007-3-6')-strtotime(‘2007-2-5'))/3600*24
PHP實例23.表中有A B C三列,用SQL語句實現(xiàn):當A列大于B列時選擇A列否則選擇B列,當B列大于C列時選擇B列否則選擇C列.
代碼如下:
答:select case when A>B then A else B end,
?????? case when B>C then B else C end
From test
PHP實例24.請簡述項目中優(yōu)化sql語句執(zhí)行效率的方法,從哪些方面,sql語句性能如何分析?
代碼如下:
答:(1)選擇最有效率的表名順序
(2)WHERE子句中的連接順序
(3)SELECT子句中避免使用‘*'
(4)用Where子句替換HAVING子句
(5)通過內(nèi)部函數(shù)提高SQL效率
(6)避免在索引列上使用計算.
(7)提高GROUP BY 語句的效率, 可以通過將不需要的記錄在GROUP BY 之前過濾掉.
PHP實例25.mysql_fetch_row() 和 mysql_fetch_array() 有什么分別?
代碼如下:
mysql_fetch_row() 把數(shù)據(jù)庫的一列儲存在一個以零為基數(shù)的陣列中,第一欄在陣列的索引 0,第二欄在索引 1,如此類推.mysql_fetch_assoc() 把數(shù)據(jù)庫的一列儲存在一個關聯(lián)陣列中,陣列的索引就是欄位名稱,例如我的數(shù)據(jù)庫查詢送回“first_name”、“l(fā)ast_name”、 “email”三個欄位,陣列的索引便是“first_name”、“l(fā)ast_name”和“email”.mysql_fetch_array() 可以同時送回 mysql_fetch_row() 和 mysql_fetch_assoc() 的值.
PHP實例26.下面的代碼用來做什么?請解釋.
PHP實例$date='08/26/2003';print ereg_replace("([0-9]+)/([0-9]+)/([0-9]+)","\\2/\\1/\\3",$date);
代碼如下:
這是把一個日期從 MM/DD/YYYY 的格式轉為 DD/MM/YYYY 格式.我的一個好朋友告訴我可以把這個正規(guī)表達式拆解為以下的語句,對于如此簡單的表示是來說其實無須拆解,純粹為了解說的方便:
// 對應一個或更多 0-9,后面緊隨一個斜號$regExpression = "([0-9]+)/";// 應一個或更多 0-9,后面緊隨另一個斜號$regExpression .= "([0-9]+)/";// 再次對應一個或更多 0-9$regExpression .= "([0-9]+)";至于 \\2/\\1/\\3 則是用來對應括號,第一個括號對的是月份,
PHP實例27.GD 函式庫用來做什么?
代碼如下:
答:這個函式庫讓你處理和顯示各式格式的圖檔,它的另一個常見用途是制作所圖檔.GD 以外的另一個選擇是 ImageMagick,但這個函式庫并不內(nèi)建于 PHP 之中,必須由系統(tǒng)管理員安裝在伺服器上
PHP實例28.請舉例說明在你的開發(fā)過程中用什么方法來加快頁面的加載速度
代碼如下:
?? 答:要用到服務器資源時才打開,及時關閉服務器資源,數(shù)據(jù)庫添加索引,頁面可生成靜態(tài),圖片等大文件單獨服務器.使用代碼優(yōu)化工具啦
PHP實例29.防止SQL注射漏洞一般用__addslashes___函數(shù).
PHP實例30.PHP中傳值和傳引用、傳地址的區(qū)別是什么?
代碼如下:
答:傳值是把實參的值賦值給行參 那么對行參的修改,不會影響實參的值
傳地址 是傳值的一種特殊方式,只是他傳遞的是地址,不是普通的如int 那么傳地址以后,實參和行參都指向同一個對象
PHP實例31.如何通過javascript判斷一個窗口是否已經(jīng)被屏蔽
代碼如下:
答:獲取open()的返回值,如果是null,就是屏蔽了
PHP實例33.對于大流量的網(wǎng)站,您采用什么樣的方法來解決拜訪量問題
代碼如下:
答:首先,確認服務器硬件是否足夠支持當前的流量
其次,優(yōu)化數(shù)據(jù)庫拜訪.
第三,禁止外部的盜鏈.
第四,控制大文件的下載.
第五,使用不同主機分流主要流量
第六,使用流量分析統(tǒng)計軟件
PHP實例以上所述就是本文的全部內(nèi)容了,希望能夠對大家學習php有所幫助.
歡迎參與《PHP應用:33道php常見面試題及答案》討論,分享您的想法,維易PHP學院為您提供專業(yè)教程。
轉載請注明本頁網(wǎng)址:
http://www.snjht.com/jiaocheng/9748.html