常見的php筆試題(附答案)搜集整理

轉載鏈接:http://www.yaojinbu.com/p/139.html


常見的php筆試題(附答案)搜集整理

1.在PHP中,當前腳本的名稱(不包括路徑和查詢字符串)記錄在哪個預定義變量中?而鏈接到當前頁面的URL又記錄在哪個預定義變量中?

答:echo $_SERVER['PHP_SELF']; echo $_SERVER["HTTP_REFERER"];

2.執行程序段<?php echo 8%(-2) ?>將輸出什么?

答:0

3.在HTTP 1.0中,狀態碼 401 的含義是什么;如果返回“找不到文件”的提示,則可用 header 函數,其語句是什么?

答:狀態碼401的含義是未授權; header(“HTTP/1.0 404 Not Found”)。

4.數組函數 arsort 的作用是什么;語句 error_reporting(2047)的作用是什么?

答:arsort的作用是對數組進行逆向排序并保持索引關系;All errors and warnings。

5.寫出一個正則表達式,過慮網頁上的所有JS腳本(即把標記及其內容都去掉)?

答:/<[^>].*?>.*?<\/>/si

6.以Apache模塊的方式安裝PHP,在文件http.conf中首先要用什么語句動態裝載PHP模塊,然后再用什么語句使得Apache把所有擴展名為php的文件都作為PHP腳本處理?

答:LoadModule php5_module “D:/xampp/apache/bin/php5apache2.dll”;

AddType application/x-httpd-php-source .phps

AddType application/x-httpd-php .php .php5 .php4 .php3 .phtml

7.語句 include 和 require 都能把另外一個文件包含到當前文件中,它們的區別是什么?為了避免多次包含同一文件,可以用什么語句來代替它們?

答:發生異常時include產生警告,require產生致命錯誤;可以用require_once()/include_once()來替代他們。

8.類的屬性可以序列化后保存到 session 中,從而以后可以恢復整個類,這要用到哪個函數?

答:serialize() /unserialize()

9.要使得一個函數的參數可以是對變量的引用,那么需要在php.ini中做何設置?

答:allow_call_time_pass_reference 設置為 on 即可。

10.SQL 中LEFT JOIN的含義是什么?如果 tbl_user記錄了學生的姓名(name)和學號(ID),tbl_score記錄了學生(有的學生考試以后被開除了,沒有其記錄)的學號(ID)和考試成績(score)以及考試科目(subject),要想打印出各個學生姓名及對應的的各科總成績,其SQL語句是什么?

答:自然左外連接;

對應的SQL語句是: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

11.在PHP中,heredoc是一種特殊的字符串,它的結束標志有什么要求?

答:結束標識符所在的行不能包含除”;”外的任何其它字符。

12.用PHP打印出前一天的時間格式(如 2006-5-10 22:21:21)?

答:echo date(‘Y-m-d H:i:s’, strtotime(‘-1 day’));

13.echo(),print(),print_r()的區別?

答:echo是語言結構,無返回值;print功能和echo基本相同,不同的是print是函數,有返回值;print_r是遞歸打印,用于輸出數組對象。

14.如何實現字符串翻轉?

答:用strrev函數;

不準用PHP內置函數的話還自己寫:

strrev($str){$len=strlen($str);$newstr = '';for($i=$len;$i>=0;$i--){$newstr .= $str{$i};}return $newstr;
}

15.實現中文字符串截取無亂碼的函數是什么?

答:mb_substr()。

16.使用php寫一段簡單數據庫查詢,查出所有姓名為“張三”的內容并打印出來。

表名 ? ?User

Name ? ? Tel ? ? ? ? ? ? ? ? ? ? Content ? ? ? ? Date

張三 ? ? ? ?13333663366 ? ? 大專畢業 ? ? ? ?2006-10-11

張三 ? ? ? ?13612312331 ? ? 本科畢業 ? ? ? ?2006-10-15

張四 ? ? ? ?021-55665566 ? 中專畢業 ? ? ? ?2006-10-15

答:SELECT Name,Tel,Content,Date FROM User WHERE Name=’張三’;

17.如何使用下面的類,并解釋下面的代碼想要完成的任務?

class test
{get_test($num){$num=md5(md5($num)."En");return $num;}
}

答:用法:

$get_test = new test();

$result = $get_test->get_test(2);

作用:

將$num變量進行兩次md5后返回,第2次的md5中的參數,在第一次md5($num)后多加了En

18.使用五種以上方式獲取一個文件的擴展名(要求: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), '.')));
}

19.如何修改SESSION的生存時間?

答:其實 Session 還提供了一個函數 session_set_cookie_params(); 來設置 Session 的生存時間,該函數必須在 session_start() 函數調用之前調用:

<?php// 保存一天$lifeTime = 24 * 3600;session_set_cookie_params($lifeTime);session_start();$_SESSION["admin"] = true;
?>

20. 請寫一個函數,實現以下功能: 字符串“open_door” 轉換成 “OpenDoor”、”make_by_id” 轉換成 ”MakeById”。

答:代碼如下:

<?phpfunction test($str){$arr = explode('_',$str);array_walk($arr,function(&$item,$key){$item = ucfirst($item);});return implode($arr);}$aa='open_door';echo test($aa);
?>

21. 如何用php的環境變量得到一個網頁地址的內容?ip地址又要怎樣得到?

答:$_SERVSR['REQUEST_URI'];$_SERVER['REMOTE_ADDR']

22.求兩個日期的差數,例如2007-2-5 ~ 2007-3-6 的日期差數?

答:(strtotime(‘2007-3-6’)-strtotime(‘2007-2-5’))/3600*24

23.表中有A B C三列,用SQL語句實現:當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;

24.請簡述項目中優化sql語句執行效率的方法,從哪些方面,sql語句性能如何分析?

答:(1)選擇最有效率的表名順序;(2)WHERE子句中的連接順序;(3)SELECT子句中避免使用‘*’;(4)用Where子句替換HAVING子句;(5)通過內部函數提高SQL效率;(6)避免在索引列上使用計算;(7)提高GROUP BY 語句的效率, 可以通過將不需要的記錄在GROUP BY 之前過濾掉。

25.mysql_fetch_row() 和 mysql_fetch_array() 有什么分別?

mysql_fetch_row() 把數據庫的一列儲存在一個以零為基數的陣列中,第一欄在陣列的索引 0,第二欄在索引 1,如此類推。mysql_fetch_assoc() 把數據庫的一列儲存在一個關聯陣列中,陣列的索引就是欄位名稱,例如我的數據庫查詢送回“first_name”、“last_name”、“email”三個欄位,陣列的索引便是“first_name”、“last_name”和“email”。mysql_fetch_array() 可以同時送回 mysql_fetch_row() 和 mysql_fetch_assoc() 的值。

26.下面的代碼用來做什么?請解釋。

$date='08/26/2003';
print ereg_replace("([0-9]+)/([0-9]+)/([0-9]+)","\\2/\\1/\\3",$date);

這是把一個日期從 MM/DD/YYYY 的格式轉為 DD/MM/YYYY 格式。我的一個好朋友告訴我可以把這個正規表達式拆解為以下的語句,對于如此簡單的表示是來說其實無須拆解,純粹為了解說的方便:

// 對應一個或更多 0-9,后面緊隨一個斜號$regExpression = “([0-9]+)/”;// 應一個或更多 0-9,后面緊隨另一個斜號$regExpression .= “([0-9]+)/”;// 再次對應一個或更多 0-9$regExpression .= “([0-9]+)”;至于 \\2/\\1/\\3 則是用來對應括號,第一個括號對的是月份。

27.GD 函數庫用來做什么?

答:這個函數庫讓你處理和顯示各種格式的圖像,它的另一個常見用途是制作圖像。GD 以外的另一個選擇是 ImageMagick或者GMagick,但這兩個函數庫并不內建于 PHP 之中,必須由系統管理員安裝在服務器上。

28.請舉例說明在你的開發過程中用什么方法來加快頁面的加載速度?

答:要用到服務器資源時才打開,及時關閉服務器資源,數據庫添加索引,頁面可生成靜態,圖片等大文件單獨服務器等。

29.防止SQL注入漏洞一般用addslashes函數。

30.PHP中傳值和傳引用、傳地址的區別是什么?

答:傳值是把實參的值賦值給行參,那么對行參的修改,不會影響實參的值;傳地址是傳值的一種特殊方式,只是他傳遞的是地址,不是普通的如int 那么傳地址以后,實參和行參都指向同一個對象。

31.如何通過javascript判斷一個窗口是否已經被屏蔽?

答:獲取open()的返回值,如果是null,就是屏蔽了。

32.對于大流量的網站,您采用什么樣的方法來解決訪問量問題?

答:首先,確認服務器硬件是否足夠支持當前的流量;其次,優化數據庫訪問;第三,禁止外部的盜鏈;第四,控制大文件的下載;第五,使用不同主機分流主要流量;第六,使用流量分析統計軟件。

本文整理自網絡,轉載請注明出處:http://www.yaojinbu.com/p/139.html

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/news/276235.shtml
繁體地址,請注明出處:http://hk.pswp.cn/news/276235.shtml
英文地址,請注明出處:http://en.pswp.cn/news/276235.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

Js整理備忘(02)——運算符

1、運算符的表示以及優先級 Javascript&#xff08;以下簡寫為Js&#xff09;的大部分運算符與C或Java是類似的。 記得剛學C語言時老師講的優先級口訣&#xff0c;非常好記&#xff1a;“括、單、算、移、關”“位、邏、條、賦、逗”&#xff0c;此處也可以套用一下&#xff0c…

手寫一個合格的前端腳手架

為什么我們需要一套腳手架為什么我們需要一套腳手架&#xff0c;它能幫助我們解決哪些痛點問題。?前端項目配置越來越繁瑣、耗時&#xff0c;重復無意義的工作?項目結構不統一、不規范?前端項目類型繁多&#xff0c;不同項目不同配置&#xff0c;管理成本高?腳手架也可以是…

第一篇cnblog!

本人才疏學淺&#xff0c;終于通過了cnblog的審核&#xff0c;興奮之余&#xff0c;發表感言——不容易啊&#xff01;在我的博聞里面&#xff0c;隨筆類當然就是技術類的比較多的&#xff0c;特別是實例類的。理論類的大部分放在文章板塊&#xff0c;本人e文特別好(哈哈&#…

解決error 1045: Access denied for user: 'root@localhost' (Using password: YES)

轉載連接&#xff1a;http://jianfw2009.blog.163.com/blog/static/13431366020111016112459158/ 1、先停止mysql服務2、在mysql的目錄下找到my.ini&#xff0c;在[mysqld]后面加上skip-grant-tables3、啟動mysql服務,打開Command Line Client以空密碼登錄4、退出mysql,并停止服…

fillcolor是什么意思_fill是什么意思

1. (使)裝滿;(使)注滿;(使)充滿If you fill a container or area, or if it fills, an amount of something enters it that is enough to make it full.e.g.Fill a saucepan with water and bring to a slow boil...往平底鍋里加滿水,小火煮沸。e.g.She made sandwiches, fill…

利用JMeter進行壓力測試(1)(轉)

轉自&#xff1a;http://www.cnblogs.com/game-over/archive/2010/01/08/1642685.html壓力測試以軟件響應速度為測試目標&#xff0c;尤其是在較短時間內大量并發用戶的同時訪問時&#xff0c;軟件的性能和抗壓能力。 JMeter是一款開源的壓力測試工具&#xff0c;目前最新Rele…

MyISAM InnoDB 區別

轉載鏈接&#xff1a;http://www.php100.com/html/webkaifa/database/Mysql/2011/0326/7789.html MyISAM 和 InnoDB 講解 InnoDB和MyISAM是許多人在使用MySQL時最常用的兩個表類型&#xff0c;這兩個表類型各有優劣&#xff0c;視具體應用而定。基本的差別為&#xff1a;MyISAM…

Git 內部原理圖解——對象、分支以及如何從零開始建倉庫

我們中的許多人每天都在使用 git&#xff0c;但是有多少人知道它的內部是怎么運作的呢&#xff1f;例如我們使用 git commit 時發生了什么&#xff1f;提交&#xff08;commit&#xff09;與提交之間保存的是什么&#xff1f;兩次提交之間難道只是文件的差異&#xff08;dif…

wpsmac和pc版的區別_Mac版WPS Office和微軟Office 2019哪個更好?

眾所周知&#xff0c; macOS系統生態下&#xff0c;有許多界面精美、功能強大、體驗出色的軟件&#xff0c;但提到辦公套件&#xff0c;人們首先想到的還是微軟 Office 套件&#xff0c;其中的Word、 Excel 以及PPT&#xff0c;但用戶體驗并不如意。但現在&#xff0c;蘋果用戶…

A tutorial video for MindManager for free

MindManager 2016 for Windows Essential Training 本人學習的時候使用的是MindManager 2018版本的&#xff0c;和2016版本差異不大。 轉載于:https://www.cnblogs.com/kelamoyujuzhen/p/10253278.html

Google, 請不要離開我們!

雖然我是.net陣營, 力挺Silverlight, 但是我真心希望谷歌留在中國, 如果她能夠靠談判求的言論自由的權利, 那將對中國的擁有自由信仰的一族產生重大的影響. 谷歌離開了中國, 不是她想拋棄中國市場, 而是中國決策者背叛了人性. 在此留下 Google 2010年1月14日的logo, 智慧的幽默…

高級php面試題及部分答案

轉載鏈接&#xff1a;http://www.2cto.com/kf/201304/201112.html 一. 基本知識點 1.1 HTTP協議中幾個狀態碼的含義:503 500 401 403 404 200 301 302。。。 200 : 請求成功&#xff0c;請求的數據隨之返回。 301 : 永久性重定向。 302 : 暫時行重定向。 401 : 當前請求需要用…

iec104點號_IEC104報文流程(有常用類型標識解釋)

參數地址圍類別97版基地址2002版基地址遙信1H------400H1H------4000H遙測701H------900H4001H------5000H遙控B01------B806001H------6100H設點B81H------C00H6201H------6400H電度C01H------C80H6401H------6600H遙測和遙信個數不設置上限&#xff0c;可以沒有上限限制&…

本周ASP.NET英文技術文章推薦[04/08 - 04/14](附贈自彈超級瑪麗主題曲)

摘要 本期共有6篇文章&#xff1a; ASP.NET編譯問題的公開Hotfix補丁 期待下個版本AjaxPro 的發布 在ASP.NET 2.0中使用MultiView控件實現多頁面表單 數據綁定的技巧&#xff1a;嵌套Eval語句 在ASP.NET 2.0中訪問并更新數據&#xff1a;使用數據源控件以編程方式訪問數據 AD…

一個離開某門戶網站人員自爆黑幕

去年&#xff0c;我已在星星發表了一個關于免費發短信的各類軟件的黑幕所在。而事實上的SMS&#xff08;即短信&#xff09;的黑幕遠不止于此&#xff0c;今天&#xff0c;我終于有空坐下來&#xff0c;把其中的一些讓你感覺平常卻實際觸目驚心的事情告訴你們&#xff0c;讓你們…

28歲自學3年前端成功轉行的勵志故事

為什么轉行因為混得不好。在成為程序員之前&#xff0c;我干過很多工作。由于學歷的問題&#xff08;高中&#xff09;&#xff0c;我的工作基本上都是體力活。包括但不限于&#xff1a;工廠普工、銷售&#xff08;沒有干銷售的才能&#xff09;、搬運工、擺地攤等&#xff0c;…

css中!important的作用

轉載鏈接&#xff1a;http://www.cnblogs.com/guoguo-15/archive/2011/08/24/2151859.html css中!important的作用 {*rule !important}這個css規則當今在網頁制作的時候的普及已經非常流行了&#xff0c;以前我對它的理解就停留在‘瀏覽器是否識別階段’ 而沒有真正去研究過&am…

word2vec應用場景_word2vec的使用參數解釋和應用場景

" > corpus.txt因為這些數據雖然去除了其他標簽的數據&#xff0c;但是卻把保留下來了&#xff0c;所以后來作者在分詞程序中去除了這個標簽我在這個[網頁](http://www.jb51.net/article/65497.htm)上找到了一個python去標簽的簡單代碼。但是沒有實驗過&#xff0c;不知…

usb 驅動

usb 驅動學習總結&#xff1a; usb 采用分層的拓撲結構&#xff0c;金字塔型&#xff0c;最多是7層。usb 是主從結構&#xff0c;主和主或者從和從之間不能交換數據。理論上一個usb主控制器最多可接127個設備&#xff0c;協議規定每個usb設備具有一個7bit的地址&#xff0c;范圍…

讓Spring架構減化事務配置(轉)

讓Spring架構減化事務配置(轉) 注&#xff1a;原文章曾發表在it168Spring顛覆了以前的編程模式&#xff0c;引入了IOC等全新的概念&#xff0c;廣受大家的喜愛。目前大多數j2ee項目都已經采用Spring框架。Spring最大的問題是太多的配置文件&#xff0c;使得你不僅需要維護程序代…