亚洲喷奶水中文字幕电影,日本aⅴ高清一区二区三区,欧美亚洲日本国产,欧美日韩亚洲中文字幕

<legend id="flx4p"><abbr id="flx4p"><thead id="flx4p"></thead></abbr></legend>

<mark id="flx4p"><thead id="flx4p"></thead></mark>

      我要投稿 投訴建議

      php常用面試題及答案

      時(shí)間:2021-06-21 12:39:06 面試試題 我要投稿

      php常用面試題及答案

       在尋找php工作的親們,面試是我們進(jìn)入企業(yè)重中之重的第一道門(mén),那么php面試題的有哪些?下面小編給大家整理的面試題以及答案,希望給大家面試的時(shí)候做準(zhǔn)備!

      php常用面試題及答案

              1、談對(duì)mvc的認(rèn)識(shí)?

        答:由模型(Model),視圖(View),控制器(Controller)完成的應(yīng)用程序

        由模型發(fā)出要實(shí)現(xiàn)的功能到控制器,控制器接收組織功能傳遞給視圖;

        2、寫(xiě)出發(fā)貼數(shù)最多的十個(gè)人名字的SQL,利用下表:members(id,username,posts,pass,email)

        答:SELECT * FROM `members` ORDER BY posts DESC limit 0,10;

        3、GD庫(kù)是做什么用的?

        答:gd庫(kù)提供了一系列用來(lái)處理圖片的功能,使用GD庫(kù)可以處理圖片,或者生成圖片。

        在網(wǎng)站上GD庫(kù)通常用來(lái)生成縮略圖或者用來(lái)對(duì)圖片加水印或者對(duì)網(wǎng)站數(shù)據(jù)生成報(bào)表。

        4、請(qǐng)寫(xiě)出數(shù)據(jù)類型(int char varchar datetime text)的意思; 請(qǐng)問(wèn)varchar和char有什么別?

        答:int是數(shù)字類型,char固定長(zhǎng)度字符串,varchar實(shí)際長(zhǎng)度字符串,datetime日期時(shí)間型,text文本字符串

        char的場(chǎng)地固定為創(chuàng)建表設(shè)置的長(zhǎng)度,varchar為可變長(zhǎng)度的字符

        5、以下程序的輸出結(jié)果?

        $b=201;

        $c=40;

        $a=$b>$c?4:5;

        echo $a;

        ?>

        答:4

        6、檢測(cè)一個(gè)變量是否有設(shè)置的函數(shù)是?是否為空的函數(shù)是?

        答:isset($str),empty($str);

        7、得查詢結(jié)果集總數(shù)的函數(shù)是?

        答:mysql_num_rows($result);

        8、$arr = array(‘james’, ‘tom’, ‘symfony’); 請(qǐng)打印出第一個(gè)元素的值?

        答:echo $arr[0];

        9、===”是什么?試舉一個(gè)“==”是真但“===”是假的例子。

        “===”是既可以返回布爾值“假”,也可以返回一個(gè)不是布爾值但卻可以賦與“假”值的函式,strpos() 和 strrpos() 便是其中兩個(gè)例子。

        if (strpos("abc", "a") == true){ // 這部分永不會(huì)被執(zhí)行,因?yàn)?"a" 的位置是 0,換算成布爾值“假”}if (strpos("abc", "a") === true){ // 這部份會(huì)被執(zhí)行,因?yàn)?ldquo;===”保證函式 strpos() 的送回值不會(huì)換算成布爾值.}

        10、以下程序的輸出結(jié)果

        $str=“cd”;

        $$str=“hotdog”;

        $$str.=“ok”;

        echo $cd;

        ?>

        答案:hotdogok

        11、給你三個(gè)數(shù),寫(xiě)程序求出其最大值。

        $var1=1;

        $var2=7;

        $var3=8;

        $max=$var1>$var2?$var1:$var2;

        $max=$max>$var3?$max:$var3;

        echo $max;

        12、將一個(gè)選擇2號(hào)選項(xiàng)的ip為127.0.0.1的用戶在當(dāng)前時(shí)間的投票記錄到數(shù)據(jù)庫(kù)的SQL

        答:insert into poll (ip,time,iid) values('127.0.0.1',now(),2);

        13、個(gè)函數(shù)驗(yàn)證電子郵件的格式是否正確 ?

        答: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);

        }

        14、表 menu(mainmenu,submenu,url),請(qǐng)用遞歸法寫(xiě)出一樹(shù)形菜單,將所有的menu列出來(lái)

        function 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)

        ?>

        15、PHP可以和sql server/oracle等數(shù)據(jù)庫(kù)連接嗎?

        答:可以

        16、寫(xiě)出PHP5權(quán)限控制修飾符?

        答:public(公共),private(私用),protected(繼承)

        17、請(qǐng)寫(xiě)出php5的構(gòu)造函數(shù)和析構(gòu)函數(shù)?

        答: 構(gòu)造函數(shù):官方稱自定義函數(shù)

        析構(gòu)函數(shù):垃圾回收函數(shù)(__destruct)

        18、表單中 get與post提交方法的區(qū)別?

        答:get是發(fā)送請(qǐng)求HTTP協(xié)議通過(guò)url參數(shù)傳遞進(jìn)行接收,而post是實(shí)體數(shù)據(jù),可以通過(guò)表單提交大量信息.

        19、session與cookie的區(qū)別?

        答:session:儲(chǔ)存用戶訪問(wèn)的全局唯一變量,存儲(chǔ)在服務(wù)器上的php指定的目錄中的(session_dir)的位置進(jìn)行的存放

        cookie:用來(lái)存儲(chǔ)連續(xù)訪問(wèn)一個(gè)頁(yè)面時(shí)所使用,是存儲(chǔ)在客戶端,對(duì)于Cookie來(lái)說(shuō)是存儲(chǔ)在用戶WIN的Temp目錄中的。

        兩者都可通過(guò)時(shí)間來(lái)設(shè)置時(shí)間長(zhǎng)短

        20、用PHP打印出前一天的時(shí)間格式是2010-7-3 12:28:21?

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

        21、e2ho(),print(),print_r()的區(qū)別?

        答:echo是PHP語(yǔ)句, print和print_r是函數(shù),語(yǔ)句沒(méi)有返回值,函數(shù)可以有返回值(即便沒(méi)有用)

        print() 只能打印出簡(jiǎn)單類型變量的值(如int,string)

        print_r() 可以打印出復(fù)雜類型變量的值(如數(shù)組,對(duì)象)

        echo 輸出一個(gè)或者多個(gè)字符串

        22、能夠使HTML和PHP分離開(kāi)使用的模板?

        答:Smarty, TinyButStrong,XTemplate, Savant,Template Lite, Dwoo, phemplate

        23、哪些工具進(jìn)行版本控制?

        答:cvs,svn,vss;

        24、如何實(shí)現(xiàn)字符串翻轉(zhuǎn)?

        答:echo strrev($a); //strrev — 顛倒字符串

        25、優(yōu)化查詢語(yǔ)句?

        a.最好在相同字段進(jìn)行比較操作,在建立好的索引字段上盡量減少函數(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";

        26、對(duì)于大流量的網(wǎng)站,您采用什么樣的方法來(lái)解決訪問(wèn)量問(wèn)題?

        答:確認(rèn)服務(wù)器硬件是否足夠支持當(dāng)前的流量,數(shù)據(jù)庫(kù)讀寫(xiě)分離,優(yōu)化數(shù)據(jù)表,

        程序功能規(guī)則,禁止外部的盜鏈,控制大文件的下載,使用不同主機(jī)分流主要流量

        27、如何修改SESSION的生存時(shí)間?.

        答:方法1:將php.ini中的session.gc_maxlifetime設(shè)置為9999重啟apache

        方法2:$savePath = “./session_save_dir/”;

        $lifeTime = 小時(shí) * 秒;

        session_save_path($savePath);

        session_set_cookie_params($lifeTime);

        session_start();

        方法3:setcookie() and session_set_cookie_params($lifeTime);

        28、有一個(gè)網(wǎng)頁(yè)地址, 比如PHP開(kāi)發(fā)資源網(wǎng)主頁(yè): http://www.php100.com/,如何得到它的內(nèi)容?

        答:方法1(對(duì)于PHP5及更高版本):

        $readcontents = fopen(“http://www.php100.com/”, “rb”);

        $contents = stream_get_contents($readcontents);// stream_get_contents 取得字符串賦值給$contents

        fclose($readcontents);

        echo $contents;

        方法2:

        echo file_get_contents(“http://www.php100.com/”);

        // file_get_contents() 函數(shù)把整個(gè)文件讀入一個(gè)字符串中。

        29、在HTTP 1.0中,狀態(tài)碼401的含義是(?);如果返回“找不到文件”的提示,則可用 header 函數(shù),其語(yǔ)句為?

        答:狀態(tài)401代表未被授權(quán),header(“Location:www.xxx.php”);

        30、在PHP中,heredoc是一種特殊的字符串,它的結(jié)束標(biāo)志必須?

        答:heredoc的語(yǔ)法是用”<<<"加上自己定義成對(duì)的標(biāo)簽,在標(biāo)簽范圍內(nèi)的文字視為一個(gè)字串

        例子:

        $str = <<

        my name is Jiang Qihui!

        SHOW;

        31、foo()和@foo()之間有什么區(qū)別?

        答:@foo()控制錯(cuò)誤輸出

        32、如何聲明一個(gè)名為”myclass”的沒(méi)有方法和屬性的類?

        答:class myclass{ }

        33、如何實(shí)例化一個(gè)名為”myclass”的對(duì)象?

        答:new myclass()

        34、你如何訪問(wèn)和設(shè)置一個(gè)類的屬性?

        答:$object = new myclass();

        $newstr = $object->test;

        $object->test = “info”;

        35、mysql_fetch_row() 和mysql_fetch_array之間有什么區(qū)別?

        答:mysql_fetch_row是從結(jié)果集取出1行數(shù)組,作為枚舉

        mysql_fetch_array是從結(jié)果集取出一行數(shù)組作為關(guān)聯(lián)數(shù)組,或數(shù)字?jǐn)?shù)組,兩者兼得

        36、下面哪個(gè)函數(shù)可以打開(kāi)一個(gè)文件,以對(duì)文件進(jìn)行讀和寫(xiě)操作?

        (a) fget() (b) file_open() (c) fopen() (d) open_file()

        答:c

        37、下面的程序會(huì)輸入是否?

        $num = 10;

        function multiply(){

        $num = $num * 10;

        }

        multiply();

        echo $num;

        ?>

        否,局部變量

        38、JS表單彈出對(duì)話框函數(shù)是?獲得輸入焦點(diǎn)函數(shù)是?

        答:彈出對(duì)話框: alert(),prompt(),confirm()

        獲得輸入焦點(diǎn) focus()

        39、JS的轉(zhuǎn)向函數(shù)是?怎么引入一個(gè)外部JS文件?

        答:window.location.href;

        40、$a = ‘abcdef’; 請(qǐng)取出$a的.值并打印出第一個(gè)字母?

        答:echo $a{0} 或 echo substr($a,0,1)

        41、如何使用下面的類,并解釋下面什么意思?

        class test{

        function Get_test($num){

        $num=md5(md5($num).”En”);

        return $num;

        } }

        雙重md5加密

        $testObject = new test();

        $encryption = $testObject->Get_test(“xiaotian_ls”);

        42、請(qǐng)舉例說(shuō)明在你的開(kāi)發(fā)過(guò)程中用什么方法來(lái)加快頁(yè)面的加載速

        答:要用到服務(wù)器資源時(shí)才打開(kāi),及時(shí)關(guān)閉服務(wù)器資源,數(shù)據(jù)庫(kù)添加索引,頁(yè)面可生成靜態(tài),圖片等大文件單獨(dú)服務(wù)器。使用代碼優(yōu)化工具啦

        43、寫(xiě)出一個(gè)正則表達(dá)式,過(guò)慮網(wǎng)頁(yè)上的所有JS/VBS腳本(即把script標(biāo)記及其內(nèi)容都去掉):

        $script="以下內(nèi)容不顯示:alert(‘cc’);";

        echo preg_replace("/].*?>.*?/si", "替換內(nèi)容", $script);

        ?>

        44、以Apache模塊的方式安裝PHP,在文件http.conf中首先要用語(yǔ)句____動(dòng)態(tài)裝載PHP模塊,然后再用語(yǔ)句____使得Apache把所有擴(kuò)展名為php的文件都作為PHP腳本處理。

        答:LoadModule

        php5_module

        "c:/php/php5apache2.dll";AddType application/x-httpd-php .php

        45、sort()、asort()、和 ksort() 有什么分別?它們分別在什么情況下使用?

        sort()

        根據(jù)陣列中元素的值,以英文字母順序排序,索引鍵會(huì)由 0 到 n-1 重新編號(hào)。主要是當(dāng)陣列索引鍵的值無(wú)關(guān)疼癢時(shí)用來(lái)把陣列排序。

        asort()

        與 sort() 一樣把陣列的元素按英文字母順序來(lái)排列,不同的是所有索引鍵都獲得保留,特別適合替聯(lián)想陣列排序。

        ksort()

        根據(jù)陣列中索引鍵的值,以英文字母順序排序,特別適合用于希望把索引鍵排序的聯(lián)想陣列。

        46、用PHP寫(xiě)出顯示客戶端IP與服務(wù)器IP的代碼?

        答:打印客戶端IP:echo $_SERVER[‘REMOTE_ADDR’]; 或者: getenv('REMOTE_ADDR');//getenv取得開(kāi)發(fā)環(huán)境變量

        打印服務(wù)器IP:echo gethostbyname("www.bolaiwu.com") // gethostbyname取得IP地址函數(shù)

        47、語(yǔ)句include和require的區(qū)別是什么?為避免多次包含同一文件,可用(?)語(yǔ)句代替它們?

        答:require->require是無(wú)條件包含也就是如果一個(gè)流程里加入require,無(wú)論條件成立與否都會(huì)先執(zhí)行require

        include->include有返回值,而require沒(méi)有(可能因?yàn)槿绱藃equire的速度比include快)

        注意:包含文件不存在或者語(yǔ)法錯(cuò)誤的時(shí)候require是致命的,include不是

        48、PHP的意思?

        答:PHP是一個(gè)基于服務(wù)端來(lái)創(chuàng)建動(dòng)態(tài)網(wǎng)站的腳本語(yǔ)言,您可以用PHP和HTML生成網(wǎng)站主頁(yè)

        49、談?wù)刟sp,php,jsp的優(yōu)缺點(diǎn)?

        答:ASP全名Active Server Pages,是一個(gè)WEB服務(wù)器端的開(kāi)發(fā)環(huán)境, 利用它可以產(chǎn)生和運(yùn)行動(dòng)態(tài)的、交互的、高性能的WEB服務(wù)應(yīng)用程序。ASP采用腳本語(yǔ)言VB Script(Java script)作為自己的開(kāi)發(fā)語(yǔ)言。

        PHP是一種跨平臺(tái)的服務(wù)器端的嵌入式腳本語(yǔ)言. 它大量地借用C,Java和Perl語(yǔ)言的語(yǔ)法, 并耦合PHP自己的特性,使WEB開(kāi)發(fā)者能夠快速地寫(xiě)出動(dòng)態(tài)生成頁(yè)面.它支持目前絕大多數(shù)數(shù)據(jù)庫(kù)。還有一點(diǎn),PHP是完全免費(fèi)的,不用花錢(qián),你可以從PHP官方站點(diǎn)(http://www.php.net)自由下載。而且你可以不受限制地獲得源碼,甚至可以從中加進(jìn)你自己需要的特色。

        JSP 是Sun公司推出的新一代站點(diǎn)開(kāi)發(fā)語(yǔ)言,他完全解決了目前ASP,PHP的一個(gè)通病--腳本級(jí)執(zhí)行(據(jù)說(shuō)PHP4 也已經(jīng)在Zend 的支持下,實(shí)現(xiàn)編譯運(yùn)行).Sun 公司借助自己在Java 上的不凡造詣,將Java 從Java 應(yīng)用程序 和 Java Applet 之外,又有新的碩果,就是Jsp--Java Server Page。Jsp 可以在Serverlet和JavaBean的支持下,完成功能強(qiáng)大的站點(diǎn)程序。

        三者都提供在 HTML 代碼中混合某種程序代碼、由語(yǔ)言引擎解釋執(zhí)行程序代碼的能力。但JSP代碼被編譯成 Servlet 并由 Java 虛擬機(jī)解釋執(zhí)行,這種編譯操作僅在對(duì) JSP 頁(yè)面的第一次請(qǐng)求時(shí)發(fā)生。在 ASP 、PHP、JSP 環(huán)境下,HTML 代碼主要負(fù)責(zé)描述信息的顯示樣式,而程序代碼則用來(lái)描述處理邏輯。普通的 HTML 頁(yè)面只依賴于 Web 服務(wù)器,而 ASP 、PHP、JSP 頁(yè)面需要附加的語(yǔ)言引擎分析和執(zhí)行程序代碼。程序代碼的執(zhí)行結(jié)果被重新嵌入到 HTML 代碼中,然后一起發(fā)送給瀏覽器。 ASP 、PHP、 JSP三者都是面向 Web 服務(wù)器的技術(shù),客戶端瀏覽器不需要任何附加的軟件支持。

               50、   優(yōu)化MYSQL數(shù)據(jù)庫(kù)的方法

        (1).選取最適用的字段屬性,應(yīng)該盡量把字段設(shè)置為NOT NULL,這樣在將來(lái)執(zhí)行查詢的時(shí)候,數(shù)據(jù)庫(kù)不用去比較NULL值。

        (2).使用連接(JOIN)來(lái)代替子查詢(Sub-Queries)

        (3).盡量少使用 LIKE 關(guān)鍵字和通配符

      【php常用面試題及答案】相關(guān)文章:

      常用php面試題及答案06-19

      PHP面試題與答案01-16

      最新關(guān)于精選php面試題及答案12-31

      騰訊php面試題02-11

      PHP面試題匯總01-27

      11個(gè)提問(wèn)頻率最高的PHP面試題以及答案02-14

      2017基礎(chǔ)php面試題06-07

      優(yōu)秀php高級(jí)工程師面試題及答案06-19

      百度php面試題02-11