日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當(dāng)前位置: 首頁 > 编程语言 > php >内容正文

php

php下的笔试题

發(fā)布時間:2023/12/18 php 19 豆豆
生活随笔 收集整理的這篇文章主要介紹了 php下的笔试题 小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.

1、不用新變量直接交換現(xiàn)有兩個變量的值

(1)list($a,$b)=array($b,$a);

(2)a=a+b,b=a-b,a=a-b

2、PHP數(shù)字金額轉(zhuǎn)大小格式,同時說明思路

?

  function daxie($num){

  ? ? $da_num = array('零','一','二','三','四','五','六','七','八','九');

  ? ? $return = '';

  ? ? $len_num = strlen($num);

  ? ? if(!is_numeric($num) || $len_num < 0){

  ? ? ? ? return '';

  ? ? }

  ? ? for($i=0;$i<$len_num;$i++){

  ? ? ? ? $return .= $da_num[ substr($num,$i,1)];

  ? ? }

  ? ? return $return;

  }

?

3.SQL查詢語句如下:

select * from table where (ID = 10) or (ID = 32) or (ID = 22) or (ID = 76) or (ID = 13) or (ID = 44)

讓結(jié)果按10,32,22,76,13,44的順序檢索出來,請問如何書寫?

select * from table

where id in (10,32,22,76,13,44) ? ? ? ? ?

order by charindex(id,'10,32,22,76,13,44') desc

4.用PHP打印出前一天的時間,格式是2006-5-10 22:21:21

(1)echo date('Y-m-d H:i:s',time()-60*60*24);

(2)echo date('Y-m-d H:i:s',strtotime('-1 day'))

5.?echo(),print(),print_r()的區(qū)別

echo是語言結(jié)構(gòu),無返回值;print功能和echo基本相同,不同的是print是函數(shù),有返回值;print_r是遞歸打印,用于輸出數(shù)組或?qū)ο?/span>

?6.能夠使HTML和PHP分離開使用的模板

PHP本身是一種模版引擎,我用過的是smarty,常見的還有PHPLib,FastTemplate,Savant

7.如何實(shí)現(xiàn)PHP、JSP交互?

題目有點(diǎn)含糊不清,SOAP,XML_RPC,Socket function,CURL都可以實(shí)現(xiàn)這些,<br>如果是考PHP和Java的整合,PHP內(nèi)置了這種機(jī)制(如果考PHP和.NET的整合,也可以這么回答),例如$foo = new Java('java.lang.System');

8.使用哪些工具進(jìn)行版本控制?

CVS和SVN,SVN號稱下一代CVS,功能強(qiáng)大,不過CVS是老牌,市占率很高.<br>我一直用SVN,題目是問用什么工具,呃,這個可能需要這么回答:CVS Server on Apache作服務(wù)端,WinCVS作客戶端;<br>Subversion on Apache/DAV 做服務(wù)端,TortoiseSVN做客戶端,或者Subclipse做客戶端

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

其實(shí)PHP本身就有字符串翻轉(zhuǎn)的函數(shù):strrev(),不過這種方法都不能解決中文字符串翻轉(zhuǎn)的問題,會出錯的。

<?php

function reverse($var)

{

$res="";

for($i=0,$j=strlen($var);$i<$j;$i++)

{

$res=$var[$i].$res;

}

return $res;

}

$tmpvar="wofang";

$res=reverse($tmpvar);

echo $res;

?>

?10.優(yōu)化MYSQL數(shù)據(jù)庫的方法

(1).數(shù)據(jù)庫設(shè)計(jì)方面,這是DBA和Architect的責(zé)任,設(shè)計(jì)結(jié)構(gòu)良好的數(shù)據(jù)庫,必要的時候,去正規(guī)化(英文是這個:denormalize),<br>??? 允許部分?jǐn)?shù)據(jù)冗余,避免JOIN操作,以提高查詢效率

(2).系統(tǒng)架構(gòu)設(shè)計(jì)方面,表散列,把海量數(shù)據(jù)散列到幾個不同的表里面.快慢表,快表只留最新數(shù)據(jù),慢表是歷史存檔.集群,主服務(wù)器Read & write,<br>??? 從服務(wù)器read only,或者N臺服務(wù)器,各機(jī)器互為Master

(3).(1)和(2)超越PHP Programmer的要求了,會更好,不會沒關(guān)系.檢查有沒有少加索引

(4).寫高效的SQL語句,看看有沒有寫低效的SQL語句,比如生成笛卡爾積的全連接啊,大量的Group By和order by,沒有l(wèi)imit等等.<br>??? 必要的時候,把數(shù)據(jù)庫邏輯封裝到DBMS端的存儲過程里面.緩存查詢結(jié)果,explain每一個sql語句

(5).所得皆必須,只從數(shù)據(jù)庫取必需的數(shù)據(jù),比如查詢某篇文章的評論數(shù),select count(*) … where article_id = ? <br>??? 就可以了,不要先select * … where article_id = ?然后msql_num_rows.

????只傳送必須的SQL語句,比如修改文章的時候,如果用戶只修改了標(biāo)題,那就update … set title = ? where article_id = ?<br>??? 不要set content = ?(大文本)

(6).必要的時候用不同的存儲引擎.比如InnoDB可以減少死鎖.HEAP可以提高一個數(shù)量級的查詢速度

11.談?wù)勈聞?wù)處理

A給B的賬戶轉(zhuǎn)賬50美元的例子

12.apache+mysql+php實(shí)現(xiàn)最大負(fù)載的方法

參考第10題。

13.實(shí)現(xiàn)中文字串截取無亂碼的方法

(1)mb_substr()<br><br>(2)<br>function GBsubstr($string, $start, $length) {<br>?? ?if(strlen($string)>$length){<br>?? ??? ?$str=null;<br>?? ??? ?$len=$start+$length;<br>?? ??? ?for($i=$start;$i<$len;$i++){<br>?? ??? ??? ?if(ord(substr($string,$i,1))>0xa0){<br>?? ??? ??? ??? ?$str.=substr($string,$i,2);<br>?? ??? ??? ??? ?$i++;<br>?? ??? ??? ?}else{<br>?? ??? ??? ??? ?$str.=substr($string,$i,1);<br>?? ??? ??? ?}<br>?? ??? ?}<br>?? ??? ?return $str;<br>?? ?}else{<br>?? ??? ?return $string;<br>?? ?}<br>}

14.用PHP寫出顯示客戶端IP與服務(wù)器IP的代碼:

echo '客戶端IP:'.$_SERVER['REMOTE_ADDR'].'<br />';

echo '服務(wù)器端IP:'.gethostbyname($_SERVER['SERVER_NAME']);

?15.在PHP中,當(dāng)前腳本的名稱(不包括路徑和查詢字符串)記錄在預(yù)定義變量(1)中;而鏈接到當(dāng)前頁面的URL記錄在預(yù)定義變量(2)中。

? 前執(zhí)行腳本的絕對路徑名(3),正在瀏覽當(dāng)前頁面用戶的 IP 地址(4),查詢(query)的字符串(URL 中第一個問號 ? 之后的內(nèi)容):id=1&bi=2(5),當(dāng)前運(yùn)行腳本所在的文檔根目錄(6)。

(1)$_SERVER['SCRIPT_FILENAME'];或者$_SERVER['PHP_SELF']<br>(2)$_SERVER['HTTP_REFERER']

(3)$_SERVER['SCRIPT_FILENAME'];<br>(4)$_SERVER['REMOTE_ADDR'];<br>(5)$_SERVER['QUERY_STRING'];<br>(6)$_server['DOCUMENT_ROOT'];

?16.執(zhí)行程序段 將輸出__。

(1)echo 8%(-2)。輸出:0

(2)echo (-8)%3 .輸出:-2

(3)echo 8%(-3).輸出:2

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

(1)401表示未授權(quán);

(2)header(“HTTP/1.0 404 Not Found”);[

18.數(shù)組函數(shù) arsort 的作用是____;語句 error_reporting(2047)的作用是____。

arsort:對數(shù)組進(jìn)行逆向排序并保持索引關(guān)系?

error_reporting(2047)的作用是:report All errors and warnings

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

$a="<script type='text/javascript'>XXXXXXXXXXXXXXX</script>";<br>echo preg_replace('/\<script[^>]*?>.*<\/script\>/is','',$a);

20.以Apache模塊的方式安裝PHP,在文件http.conf中首先要用語句____動態(tài)裝載PHP模塊,

然后再用語句____使得Apache把所有擴(kuò)展名為php的文件都作為PHP腳本處理。

LoadModule php5_module "c:/php/php5apache2.dll";

AddType application/x-httpd-php .php

?21.語句 include 和 require 都能把另外一個文件包含到當(dāng)前文件中,它們的區(qū)別是____;為了避免多次包含同一文件,可以用語句____來代替它們。

在如何處理失敗時,include() 產(chǎn)生一個警告而 require() 則導(dǎo)致一個致命錯誤;

require_once()/include_once()

22.一個函數(shù)的參數(shù)不能是對變量的引用,除非在php.ini中把____設(shè)為on?

allow_call_time_pass_reference boolean?

:是否啟用在函數(shù)調(diào)用時強(qiáng)制參數(shù)被按照引用傳遞

23..SQL 中LEFT JOIN的含義是__,如果 tbl_user記錄了學(xué)生的姓名(name)和學(xué)號(ID),

? tbl_score記錄了學(xué)生(有的學(xué)生考試以后被開除了,沒有其記錄)的學(xué)號(ID)和考試成績(score)以及考試科目(subject),要想打印出 各個學(xué)生姓名及對應(yīng)的的各科總成績,則可以用SQL語句____.

答:自然左外連接

?

create database phpinterview;

use phpinterview

create table tbl_user

(

ID int not null PRIMARY KEY,

name varchar(50) not null,

primary key (ID)

);

create table tbl_score

(

ID int not null ,

score dec(6,2) not null,

subject varchar(20) not null

);

?

insert into tbl_user (ID, name) values (1, 'beimu');

insert into tbl_user (ID, name) values (2, 'aihui');

insert into tbl_score (ID, score, subject) values (1, 90, '語文');

insert into tbl_score (ID, score, subject) values (1, 80, '數(shù)學(xué)');

insert into tbl_score (ID, score, subject) values (2, 86, '數(shù)學(xué)');

insert into tbl_score (ID, score, subject) values (2, 96, '語文');

?

select A.id,sum(B.score) as sumscore

from tbl_user A left join tbl_score B

on A.ID=B.ID

group by A.id

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

結(jié)束標(biāo)識符所在的行不能包含任何其它字符除";"

25.寫一個函數(shù),能夠遍歷一個文件夾下的所有文件和子文件夾。

<?php<br>function my_scandir($dir)<br>{<br>?? ?$files=array();<br>?? ?if(is_dir($dir))<br>?? ?{<br>?? ??? ?if($handle=opendir($dir))<br>?? ??? ?{<br>?? ??? ??? ?while(($file=readdir($handle))!==false)<br>?? ??? ??? ?{<br>?? ??? ??? ??? ?if($file!="." && $file!="..")<br>?? ??? ??? ??? ?{<br>?? ??? ??? ??? ??? ?if(is_dir($dir."/".$file))<br>?? ??? ??? ??? ??? ?{<br>?? ??? ??? ??? ??? ??? ?$files[$file]=my_scandir($dir."/".$file);<br>?? ??? ??? ??? ??? ?}else{<br>?? ??? ??? ??? ??? ??? ?$files[]=$dir."/".$file;<br>?? ??? ??? ??? ??? ?}<br>?? ??? ??? ??? ?}<br>?? ??? ??? ?}<br>?? ??? ??? ?closedir($handle);<br>?? ??? ??? ?return $files;<br>?? ??? ?}<br>?? ?}<br>}<br>print_r(my_scandir("D:Program FilesInternet ExplorerMUI"));

?>

26.類的屬性可以序列化后保存到 session 中,從而以后可以恢復(fù)整個類,這要用到的函數(shù)是?

serialize() /unserialize()

轉(zhuǎn)載于:https://www.cnblogs.com/crossover/p/4046184.html

總結(jié)

以上是生活随笔為你收集整理的php下的笔试题的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網(wǎng)站內(nèi)容還不錯,歡迎將生活随笔推薦給好友。