国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 編程 > PHP > 正文

PHP100 面試題

2019-11-06 07:21:07
字體:
供稿:網(wǎng)友
1、php的意思?答:PHP是一個基于服務(wù)端來創(chuàng)建動態(tài)網(wǎng)站的腳本語言,您可以用PHP和HTML生成網(wǎng)站主頁2、談?wù)?a href="http://www.survivalescaperooms.com/asp.asp">asp,php,jsp的優(yōu)缺點?答:ASP全名Active Server Pages,是一個WEB服務(wù)器端的開發(fā)環(huán)境, 利用它可以產(chǎn)生和運行動態(tài)的、交互的、高性能的WEB服務(wù)應(yīng)用程序。ASP采用腳本語言VB Script(java script)作為自己的開發(fā)語言。PHP是一種跨平臺的服務(wù)器端的嵌入式腳本語言. 它大量地借用C,Java和Perl語言的語法, 并耦合PHP自己的特性,使WEB開發(fā)者能夠快速地寫出動態(tài)生成頁面.它支持目前絕大多數(shù)數(shù)據(jù)庫。還有一點,PHP是完全免費的,不用花錢,你可以從PHP官方站點(http://www.php.net)自由下載。而且你可以不受限制地獲得源碼,甚至可以從中加進你自己需要的特色。JSP 是Sun公司推出的新一代站點開發(fā)語言,他完全解決了目前ASP,PHP的一個通病--腳本級執(zhí)行(據(jù)說PHP4 也已經(jīng)在Zend 的支持下,實現(xiàn)編譯運行).Sun 公司借助自己在Java 上的不凡造詣,將Java 從Java 應(yīng)用程序 和 Java Applet 之外,又有新的碩果,就是Jsp--Java Server Page。Jsp 可以在Serverlet和JavaBean的支持下,完成功能強大的站點程序。三者都提供在 HTML 代碼中混合某種程序代碼、由語言引擎解釋執(zhí)行程序代碼的能力。但JSP代碼被編譯成 Servlet 并由 Java 虛擬機解釋執(zhí)行,這種編譯操作僅在對 JSP 頁面的第一次請求時發(fā)生。在 ASP 、PHP、JSP 環(huán)境下,HTML 代碼主要負責(zé)描述信息的顯示樣式,而程序代碼則用來描述處理邏輯。普通的 HTML 頁面只依賴于 Web 服務(wù)器,而 ASP 、PHP、JSP 頁面需要附加的語言引擎分析和執(zhí)行程序代碼。程序代碼的執(zhí)行結(jié)果被重新嵌入到 HTML 代碼中,然后一起發(fā)送給瀏覽器。 ASP 、PHP、 JSP三者都是面向 Web 服務(wù)器的技術(shù),客戶端瀏覽器不需要任何附加的軟件支持。3、談?wù)剬vc的認識?答:由模型(Model),視圖(View),控制器(Controller)完成的應(yīng)用程序由模型發(fā)出要實現(xiàn)的功能到控制器,控制器接收組織功能傳遞給視圖;4、寫出發(fā)貼數(shù)最多的十個人名字的SQL,利用下表:members(id,username,posts,pass,email)答:SELECT * FROM `members` ORDER BY posts DESC limit 0,10;5、GD庫是做什么用的?答:gd庫提供了一系列用來處理圖片的功能,使用GD庫可以處理圖片,或者生成圖片。在網(wǎng)站上GD庫通常用來生成縮略圖或者用來對圖片加水印或者對網(wǎng)站數(shù)據(jù)生成報表。6、請寫出數(shù)據(jù)類型(int char varchar datetime text)的意思; 請問varchar和char有什么別?答:int是數(shù)字類型,char固定長度字符串,varchar實際長度字符串,datetime日期時間型,text文本字符串char的場地固定為創(chuàng)建表設(shè)置的長度,varchar為可變長度的字符7、寫出以下程序的輸出結(jié)果?<? Php$b=201;$c=40;$a=$b>$c?4:5;echo $a;?>答:48、檢測一個變量是否有設(shè)置的函數(shù)是?是否為空的函數(shù)是?答:isset($str),empty($str);9、取得查詢結(jié)果集總數(shù)的函數(shù)是?答:MySQL_num_rows($result);10、$arr = array(‘james’, ‘tom’, ‘symfony’); 請打印出第一個元素的值?答:echo $arr[0];11、PHP可以和sql server/Oracle等數(shù)據(jù)庫連接嗎?答:可以12、請寫出PHP5權(quán)限控制修飾符?答:public(公共),PRivate(私用),protected(繼承)13、請寫出php5的構(gòu)造函數(shù)和析構(gòu)函數(shù)?答: 構(gòu)造函數(shù):官方稱自定義函數(shù)析構(gòu)函數(shù):垃圾回收函數(shù)(__destruct)14、表單中 get與post提交方法的區(qū)別?答:get是發(fā)送請求HTTP協(xié)議通過url參數(shù)傳遞進行接收,而post是實體數(shù)據(jù),可以通過表單提交大量信息. 15、session與cookie的區(qū)別?答:session:儲存用戶訪問的全局唯一變量,存儲在服務(wù)器上的php指定的目錄中的(session_dir)的位置進行的存放cookie:用來存儲連續(xù)訪問一個頁面時所使用,是存儲在客戶端,對于Cookie來說是存儲在用戶WIN的Temp目錄中的。兩者都可通過時間來設(shè)置時間長短16、用PHP打印出前一天的時間格式是2010-7-3 12:28:21?答:echo date(‘Y-m-d H:i:s’, strtotime(‘-1 days’)); 17、echo(),print(),print_r()的區(qū)別?答:echo是PHP語句, print和print_r是函數(shù),語句沒有返回值,函數(shù)可以有返回值(即便沒有用)print() 只能打印出簡單類型變量的值(如int,string)print_r() 可以打印出復(fù)雜類型變量的值(如數(shù)組,對象)echo 輸出一個或者多個字符串18、能夠使HTML和PHP分離開使用的模板?答:Smarty, TinyButStrong,XTemplate, Savant,Template Lite, Dwoo, phemplate19、使用哪些工具進行版本控制?答:cvs,svn,vss;20、如何實現(xiàn)字符串翻轉(zhuǎn)?答:echo strrev($a); //strrev — 顛倒字符串21、優(yōu)化查詢語句?a.最好在相同字段進行比較操作,在建立好的索引字段上盡量減少函數(shù)操作例子1:SELECT * FROM order WHERE YEAR(orderDate)<2008;(慢)SELECT * FROM order WHERE orderDate<"2008-01-01";(快)例子2:SELECT * FROM order WHERE addtime/7<24;(慢)SELECT * FROM order WHERE addtime<24*7;(快)例子3:SELECT * FROM order WHERE title like "%good%";SELECT * FROM order WHERE title>=”good” and name<"good";22、對于大流量的網(wǎng)站,您采用什么樣的方法來解決訪問量問題?答:確認服務(wù)器硬件是否足夠支持當(dāng)前的流量,數(shù)據(jù)庫讀寫分離,優(yōu)化數(shù)據(jù)表,程序功能規(guī)則,禁止外部的盜鏈,控制大文件的下載,使用不同主機分流主要流量23、用PHP寫出顯示客戶端IP與服務(wù)器IP的代碼?答:打印客戶端IP:echo $_SERVER[‘REMOTE_ADDR’]; 或者: getenv('REMOTE_ADDR');//getenv取得開發(fā)環(huán)境變量打印服務(wù)器IP:echo gethostbyname("www.bolaiwu.com") // gethostbyname取得IP地址函數(shù)24、語句include和require的區(qū)別是什么?為避免多次包含同一文件,可用(?)語句代替它們?答:require->require是無條件包含也就是如果一個流程里加入require,無論條件成立與否都會先執(zhí)行requireinclude->include有返回值,而require沒有(可能因為如此require的速度比include快)注意:包含文件不存在或者語法錯誤的時候require是致命的,include不是25、如何修改SESSION的生存時間?.答:方法1:將php.ini中的session.gc_maxlifetime設(shè)置為9999重啟apache方法2:$savePath = “./session_save_dir/”;$lifeTime = 小時 * 秒;session_save_path($savePath);session_set_cookie_params($lifeTime);session_start();方法3:setcookie() and session_set_cookie_params($lifeTime);26、有一個網(wǎng)頁地址, 比如PHP開發(fā)資源網(wǎng)主頁: http://www.php100.com/index.html,如何得到它的內(nèi)容?答:方法1(對于PHP5及更高版本):$readcontents = fopen(“http://www.php100.com/index.html”, “rb”);$contents = stream_get_contents($readcontents);// stream_get_contents 取得字符串賦值給$contentsfclose($readcontents);echo $contents;方法2:echo file_get_contents(“http://www.php100.com/index.html”);// file_get_contents() 函數(shù)把整個文件讀入一個字符串中。27、在HTTP 1.0中,狀態(tài)碼401的含義是(?);如果返回“找不到文件”的提示,則可用 header 函數(shù),其語句為?答:狀態(tài)401代表未被授權(quán),header(“Location:www.xxx.php”);28、在PHP中,heredoc是一種特殊的字符串,它的結(jié)束標志必須?答:heredoc的語法是用”<<<"加上自己定義成對的標簽,在標簽范圍內(nèi)的文字視為一個字串例子:$str = <<<SHOWmy name is Jiang Qihui!SHOW;29、foo()和@foo()之間有什么區(qū)別?答:@foo()控制錯誤輸出30、如何聲明一個名為”myclass”的沒有方法和屬性的類?答:class myclass{ }31、如何實例化一個名為”myclass”的對象?答:new myclass()32、你如何訪問和設(shè)置一個類的屬性?答:$object = new myclass();$newstr = $object->test;$object->test = “info”;33、mysql_fetch_row() 和mysql_fetch_array之間有什么區(qū)別?答:mysql_fetch_row是從結(jié)果集取出1行數(shù)組,作為枚舉mysql_fetch_array是從結(jié)果集取出一行數(shù)組作為關(guān)聯(lián)數(shù)組,或數(shù)字數(shù)組,兩者兼得34、下面哪個函數(shù)可以打開一個文件,以對文件進行讀和寫操作?(a) fget() (b) file_open() (c) fopen() (d) open_file()答:c35、下面的程序會輸入是否?<?php$num = 10;function multiply(){$num = $num * 10;}multiply();echo $num;?>否,局部變量 36、JS表單彈出對話框函數(shù)是?獲得輸入焦點函數(shù)是?答:彈出對話框: alert(),prompt(),confirm()獲得輸入焦點 focus() 37、JS的轉(zhuǎn)向函數(shù)是?怎么引入一個外部JS文件?答:window.location.href;38、$a = ‘a(chǎn)bcdef’; 請取出$a的值并打印出第一個字母?答:echo $a{0} 或 echo substr($a,0,1) 39、優(yōu)化MYSQL數(shù)據(jù)庫的方法。(1).選取最適用的字段屬性,應(yīng)該盡量把字段設(shè)置為NOT NULL,這樣在將來執(zhí)行查詢的時候,數(shù)據(jù)庫不用去比較NULL值。(2).使用連接(JOIN)來代替子查詢(Sub-Queries)(3).盡量少使用 LIKE 關(guān)鍵字和通配符40、如何使用下面的類,并解釋下面什么意思?class test{function Get_test($num){$num=md5(md5($num).”En”);return $num;} }雙重md5加密$testObject = new test();$encryption = $testObject->Get_test(“xiaotian_ls”);41 、請舉例說明在你的開發(fā)過程中用什么方法來加快頁面的加載速答:要用到服務(wù)器資源時才打開,及時關(guān)閉服務(wù)器資源,數(shù)據(jù)庫添加索引,頁面可生成靜態(tài),圖片等大文件單獨服務(wù)器。使用代碼優(yōu)化工具啦42.寫出一個正則表達式,過慮網(wǎng)頁上的所有JS/VBS腳本(即把script標記及其內(nèi)容都去掉):<?php$script="以下內(nèi)容不顯示:alert(‘cc’);";echo preg_replace("/].*?>.*?/si", "替換內(nèi)容", $script);?>43.以Apache模塊的方式安裝PHP,在文件http.conf中首先要用語句____動態(tài)裝載PHP模塊,然后再用語句____使得Apache把所有擴展名為php的文件都作為PHP腳本處理。答:LoadModulephp5_module"c:/php/php5apache2.dll";AddType application/x-httpd-php .php44.sort()、asort()、和 ksort() 有什么分別?它們分別在什么情況下使用?sort()根據(jù)陣列中元素的值,以英文字母順序排序,索引鍵會由 0 到 n-1 重新編號。主要是當(dāng)陣列索引鍵的值無關(guān)疼癢時用來把陣列排序。asort()與 sort() 一樣把陣列的元素按英文字母順序來排列,不同的是所有索引鍵都獲得保留,特別適合替聯(lián)想陣列排序。ksort()根據(jù)陣列中索引鍵的值,以英文字母順序排序,特別適合用于希望把索引鍵排序的聯(lián)想陣列。45.“===”是什么?試舉一個“==”是真但“===”是假的例子。“===”是既可以返回布爾值“假”,也可以返回一個不是布爾值但卻可以賦與“假”值的函式,strpos() 和 strrpos() 便是其中兩個例子。if (strpos("abc", "a") == true){ // 這部分永不會被執(zhí)行,因為 "a" 的位置是 0,換算成布爾值“假”}if (strpos("abc", "a") === true){ // 這部份會被執(zhí)行,因為“===”保證函式 strpos() 的送回值不會換算成布爾值.}46 、寫出以下程序的輸出結(jié)果<?php$str=“cd”;$$str=“hotdog”;$$str.=“ok”;echo $cd;?>答案:hotdogok 47 、給你三個數(shù),寫程序求出其最大值。$var1=1;$var2=7;$var3=8;$max=$var1>$var2?$var1:$var2;$max=$max>$var3?$max:$var3;echo $max;48 寫出將一個選擇2號選項的ip為127.0.0.1的用戶在當(dāng)前時間的投票記錄到數(shù)據(jù)庫的SQL答:insert into poll (ip,time,iid) values('127.0.0.1',now(),2); 49. 請寫一個函數(shù)驗證電子郵件的格式是否正確 ?答:function checkEmail($email){$pregEmail = "/([a-z0-9]*[-_/.]?[a-z0-9]+)*@([a-z0-9]*[-_]?[a-z0-9]+)+[/.][a-z]{2,3}([/.][a-z]{2})?/i";return preg_match($pregEmail,$email);} 50 、有一表 menu(mainmenu,submenu,url),請用遞歸法寫出一樹形菜單,將所有的menu列出來<?phpfunction GenerateMenu($id=0,$str=""){$result=mysql_query("select mainmenu,url,submenu from menu where mainmenu=$id");while($row=mysql_fetch_array($result)){echo $str.$row["url"]."";GenerateMenu($row["submenu"],$str."--");}mysql_free_result($result);}$link=mysql_connect("localhost","root","");mysql_select_db("phpinterview");GenerateMenu();mysql_close($link)?> 51、寫出 SQL語句的格式 : 插入 ,更新 ,刪除表名UserName Tel Content Date張三 13333663366 大專畢業(yè) 2006-10-11張三 13612312331 本科畢業(yè) 2006-10-15張四 021-55665566 中專畢業(yè) 2006-10-15(a) 有一新記錄(小王 13254748547 高中畢業(yè) 2007-05-06)請用SQL語句新增至表中mysql_query("INSERT INTO `user` (name,tel,content,date) VALUES('小王','13254748547','高中畢業(yè)','2007-05-06')")(b) 請用sql語句把張三的時間更新成為當(dāng)前系統(tǒng)時間$nowDate = date("Ymd");mysql_query("UPDATE `user` SET date='".$nowDate."' WHERE name='張山'");(c) 請寫出刪除名為張四的全部記錄mysql_query("DELETE FROM `user` WHERE name='張四'");
發(fā)表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發(fā)表
主站蜘蛛池模板: 旬阳县| 闸北区| 泸水县| 茂名市| 肥城市| 永新县| 临泉县| 长子县| 四川省| 黑龙江省| 轮台县| 襄樊市| 陈巴尔虎旗| 和政县| 迁安市| 滨海县| 舒城县| 德兴市| 海盐县| 敦化市| 南岸区| 金溪县| 连云港市| 林口县| 都安| 大方县| 洱源县| 滁州市| 贵南县| 汝阳县| 宜良县| 金沙县| 衡南县| 仲巴县| 广水市| 绥滨县| 安西县| 洞口县| 霍山县| 盘山县| 芦溪县|