1. 程式人生 > >php面試題筆試題分享

php面試題筆試題分享

遇到了一些比較不錯的php試題,分享給大家

1、抓取遠端圖片到本地,你會用什麼函式?

fsockopen

2、用最少的程式碼寫一個求3值最大值的函式.

function($a,$b,$c){
* W0 z* u6 k+ e. L  a: }5 }    return $a>$b? ($a>$c? $a : $c) : ($b>$c? $b  :  $c );
5 O: F6 v1 W# U}

3、用PHP打印出前一天的時間,列印格式是2007年5月10日22:21:21

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

4、javascript能否定義二維陣列,如果不能你如何解決?

javascript不支援二維陣列定義,可以用arr[0] = new array()來解決

5、假設a.html和b.html在同一個資料夾下面,用javascript實現當開啟a.html五秒鐘後,自動跳轉到b.html。

function go2b(){
window.location = “b.html”;
window.close();
}

setTimeout( “go2b()”,5000 ); //5秒鐘後自動執行go2b()

6、//正在瀏覽當前頁面使用者的 IP 地址:127.0.0.1
echo $_SERVER[“REMOTE_ADDR”].”
”;
//查詢(query)的字串(URL 中第一個問號 ? 之後的內容):id=1&bi=2
echo $_SERVER[“QUERY_STRING”].”
”;
//當前執行指令碼所在的文件根目錄:d:inetpubwwwroot
echo $_SERVER[“DOCUMENT_ROOT”].”
”;
7、在HTTP 1.0中,狀態碼 401 的含義是未授權____;如果返回“找不到檔案”的提示,則可用 header 函式,其語句為header(“HTTP/1.0 404 Not Found”);
答:401表示未授權;header(“HTTP/1.0 404 Not Found”);

8、寫一個函式,能夠遍歷一個資料夾下的所有檔案和子資料夾。
<?php
function my_scandir($dir)
{
$files=array();
if(is_dir($dir))
{
if($handle=opendir($dir))
{
while(($file=readdir($handle))!==false)
{
if($file!=”.” && $file!=”..”)
{
if(is_dir($dir.”/”.$file))
{
$files[$file]=my_scandir($dir.”/”.$file);
}
else
{
$files[]=$dir.”/”.$file;
}
}
}
closedir($handle);
return $files;
}
}
}
print_r(my_scandir(“D:Program FilesInternet ExplorerMUI”));
?>

9、把 John 新增到 users 陣列?

$users[] = ‘john’;   array_push($users,‘john’);

10、在PHP中error_reporting這個函式有什麼作用?
答:error_reporting() 設定 PHP 的報錯級別並返回當前級別。

11、請用正則表示式(Regular Expression)寫一個函式驗證電子郵件的格式是否正確。
答:
<?php

$email=$_POST[’email’];
if(!preg_match(‘/^[\w.][email protected]([\w.]+)\.[a-z]{2,6}$/i’,$email))  {
echo “電子郵件檢測失敗”;
}else{
echo “電子郵件檢測成功”;
}

?>

12、用PHP寫出顯示客戶端IP與伺服器IP的程式碼

答:列印客戶端IP:echo $_SERVER[‘REMOTE_ADDR’]; 或者: getenv(‘REMOTE_ADDR’);

列印伺服器IP:echo gethostbyname(“www.bolaiwu.com”)

13、如何修改SESSION的生存時間(1分).

答:方法1:將php.ini中的session.gc_maxlifetime設定為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);

14、有一個網頁地址, 比如PHP開發資源網主頁: http://www.phpres.com/index.html,如何得到它的內容?($1分)

答:方法1(對於PHP5及更高版本):

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

$contents = stream_get_contents($readcontents);

fclose($readcontents);

echo $contents;

方法2:

echo file_get_contents(“http://www.phpres.com/index.html”);

15、請說明php中傳值與傳引用的區別。什麼時候傳值什麼時候傳引用?(2分)

答:按值傳遞:函式範圍內對值的任何改變在函式外部都會被忽略

按引用傳遞:函式範圍內對值的任何改變在函式外部也能反映出這些修改

優缺點:按值傳遞時,php必須複製值。特別是對於大型的字串和物件來說,這將會是一個代價很大的操作。

按引用傳遞則不需要複製值,對於效能提高很有好處。

16、寫一個函式,儘可能高效的,從一個標準 url 裡取出檔案的副檔名

例如: http://www.sina.com.cn/abc/de/fg.php?id=1 需要取出 php 或 .php

答案1:

function getExt($url){

$arr = parse_url($url);

$file = basename($arr[‘path’]);

$ext = explode(“.”,$file);

return $ext[1];

}

答案2:

function getExt($url) {

$url = basename($url);

$pos1 = strpos($url,”.”);

$pos2 = strpos($url,”?”);

if(strstr($url,”?”)){

return substr($url,$pos1 + 1,$pos2 – $pos1 – 1);

} else {

return substr($url,$pos1);

}

}

17、使用五種以上方式獲取一個檔案的副檔名

要求:dir/upload.image.jpg,找出 .jpg 或者 jpg ,
必須使用PHP自帶的處理函式進行處理,方法不能明顯重複,可以封裝成函式,比如 get_ext1($file_name), get_ext2($file_name)

function get_ext1($file_name){

return strrchr($file_name, ‘.’);

}

function get_ext2($file_name){

return substr($file_name, strrpos($file_name, ‘.’));

}

function get_ext3($file_name){

return array_pop(explode(‘.’, $file_name));

}

function get_ext4($file_name){

$p = pathinfo($file_name);

return $p[‘extension’];

}

function get_ext5($file_name){

return strrev(substr(strrev($file_name), 0, strpos(strrev($file_name), ‘.’)));

}

18、<?php
$str1 = null;
$str2 = false;
echo $str1==$str2 ? ‘相等’ : ‘不相等’;

$str3 = ”;
$str4 = 0;
echo $str3==$str4 ? ‘相等’ : ‘不相等’;

$str5 = 0;
$str6 = ’0′;
echo $str5===$str6 ? ‘相等’ : ‘不相等’;
?>

相等 相等 不相等


相關推薦

php試題試題分享

遇到了一些比較不錯的php試題,分享給大家 1、抓取遠端圖片到本地,你會用什麼函式? fsockopen 2、用最少的程式碼寫一個求3值最大值的函式. function($a,$b,$c){ * W0 z* u6 k+ e. L  a: }5 }    return

試題試題——陣列排序交換次數

作者:雲夢澤 日期:20131110 題目:給定一個包含1-n的數列,我們通過交換任意兩個元素給數列重新排序。求最少需要多少次交換,能把陣列排成按1-n遞增的順序,其中,陣列長度不超過100。 例如: 原陣列是3,2,1, 我們只需要交換1和3就行了,交換次數為1,所以輸出

關於Android的試題(試題)---選擇(個人分析)

近日,由於想找個實習單位,所以開始看一些晚上的Android面試或者筆試題,並在此做出總結。 廢話不多說,先從選擇題開始吧~就像讀書考試時的每一道題一樣搞起來吧~  1. 下列哪些語句關於記憶體回收

各大遊戲公司試題彙總(資源來自網路)(實時更新)

OverviewWould you like access to the best tools and technology in the business to help take your already exceptional skills to the next level?  Work with a

android試題試題總結

在圖中的下半部分是SecondActivity跳轉到FirstActivity後的棧結構變化的結果,我們注意到,SecondActivity消失了,沒錯,在這個跳轉過程中系統發現有存在的FirstActivity例項,於是不再生成新的例項,而是將FirstActivity之上的Activity例項統統出棧

2018年BAT程式設計師試題試題分享

找工作的過程中,所有人都必定會面臨一道坎,那就是面試,而面試的好壞決定了你是否能夠得到你想要的工作。不過大部分崗位的面試只只是面試,但是程式設計師這個崗位則往往還要多一道環節,那就是筆試。BAT筆試有什麼特點?BAT作為目前國內頂尖的網際網路公司,對程式設計師的面試非常苛刻。

新浪PHP開發工程師面試試題

新浪筆試面試 php面試筆試 找實習找的心累,於是在學校bbs上找了一個新浪的散招。先做了一份筆試題,題目如下。1、列舉一下你知道的Unix信號,並說明其用途2、給你一個ip地址,寫出其無符號32位的表示法3、給你一些http的東西post請求,數據,cookie,URL,寫一個http頭。4、簡述一

PHP工程師試題

extend xtend log new 筆試題 clas col 繼承 null //已經定義以下php類 class People{ static $version = "1.02beta"; private $age; public

PHP試題詳解

今天 服務 等待 速度 用途 har pda 說明 lose 自己從網上找了幾份常考到的PHP面試題進行了整理,然後才有了這份PHP面試題,並且我把所有的題目進行了詳細分析和代碼分析,希望可以對大家有幫助,謝謝大家。 這份試題我也上傳到了百度雲,有需要的可以直接去百度雲下載

PHP試題,自己幾斤幾兩,看看就知道了

mysql配置 圖片 緩存 共享 負載 垂直 cookie 區別 簡歷 網上看到的一篇比較高級的面試題,自己幾斤幾兩,看看就知道了。想要往架構這方面的可以去找找答案了 0.簡單做一下自我介紹,? 然後談一下近三年來你的得意之作?1.面試官看過你的簡歷,會問一些你做的項目

10個值得深思的PHP試題

number 進制 程序 false convert val 數字轉換 str1 long 第一個問題關於弱類型 $str1 = ‘yabadabadoo‘; $str2 = ‘yaba‘; if (strpos($str1,$str2)) { echo "/""

php試題之二——數據結構和算法(高級部分)

ash item name queue lis 雙向 joseph test 數據結構和算法 二、數據結構和算法 1.使對象可以像數組一樣進行foreach循環,要求屬性必須是私有。(Iterator模式的PHP5實現,寫一類實現Iterator接口)(騰訊) <?

PHP試題及答案解析(8)—PHP綜合應用題

java應用程序 外殼 sleep 服務應用程序 解釋 源碼 use lee eve 1.寫出下列服務的用途和默認端口。 ftp、ssh、http、telnet、https ftp:File Transfer Protocol,文件傳輸協議,是應用層的協議,它基於傳輸層,

PHP試題之文件目錄操作

als brush 文件名 func ram class png 後綴 extension 獲取文件後綴,遍歷目錄層次 /** * 5種方式獲取文件後綴名 * 這道題其實就是考函數substr() strrchr() array_pop() strrpos() str

2017年8道php試題(真題+答案)

php 高級php1、<?php echo count(strlen(“http://php.net”)); ?>的執行結果是? 答案:1 講解:count(var)是用來統計數組或對象的元素個數的。當var是null或者空數組時,結果為0。如果var是普通變量,則返回1。正常情況下返回var中的

PHP試題集錦(一)

day clu 數據庫緩存 優勢 腳本 源代碼 任務 頁面 文件 1、用PHP打印出前一天的時間格式是2017-5-10 22:21:21(2分) Answer: $a = date("Y-m-d H:i:s", strtotime("-1 day")); pr

php常規試題(二)

內容管理 www 語言 圖片 user 是否 最適 name 開始 1.如何用php的環境變量得到一個網頁地址的內容?ip地址又要怎樣得到? Gethostbyname() echo $_SERVER ["PHP_SELF"];echo $_SERVER ["SERVER_

全國排名前十名某大型軟件公司數據庫試題分享給大家

null trunc ora 筆試 性能優化 部分 常用 軟件公司 java 1)在java線程中wait和sleep方法的不同? 2)truncate與delete的區別? 3)說出一些常用的類,包,接口,請各舉5個 4)數組有沒有length()這個方法? String

PHP試題--基礎

其它 作用 個數 區分 構建 deb 目前 沒有 關鍵字 1、PHP語言的一大優勢是跨平臺,什麽是跨平臺?一、PHP基礎: PHP的運行環境最優搭配為Apache+MySQL+PHP,此運行環境可以在不同操作系統(例如windows、Linux等)上配置,不受操作系統的限制

PHP 試題 PHP部分(一)

list get 一個 目標 span 快速 是把 true sta 1、雙引號和單引號的區別? 雙引號解釋變量,單引號不解釋變量; 雙引號裏插入單引號,其中單引號裏如果有變量的話,變量解釋; 雙引號解釋轉義字符,單引號不解釋轉義字符,但是解釋‘\和\\;