PHP面試題(附答案)

2021-05-10 00:40:27 字數 3380 閱讀 9532

1.在php中,當前指令碼的名稱(不包括路徑和查詢字串)記錄在預定義變數(1)中;而鏈結到當前頁面的的前一頁面url記錄在預定義變數(2)中 

<?php

//****,script_name也可以

";//其它的見參考手冊:語言參考》變數》預定義變數

//當前執行指令碼的絕對路徑名:d:/inetpub/wwwroot/php est.php 

echo $_server["script_filename"]."

";echo $_server["remote_addr"]."

";//查詢(query)的字串(url 中第乙個問號 ? 之後的內容):id=1&bi=2

echo $_server["query_string"]."

";//當前執行指令碼所在的文件根目錄:d:inetpubwwwroot

echo $_server["document_root"]."

";?>

2.執行程式段<?php echo 8%(-2) ?>將輸出__。

<?php

//參考手冊》語言參考》運算子》算術運算子》%為取模運算,輸出0

echo 8%(-2)."

";//取模 $a % $b 在 $a 為負值時的結果也是負值。輸出-2

echo ((-8)%3)."

";//輸出2

echo (8%(-3))."

";?>

3.在http 1.0中,狀態碼 401 的含義是____;如果返回「找不到檔案」的提示,則可用 header 函式,其語句為____。

答:401表示未授權;header("http/1.0 404 not found");[見參考手冊》函式參考》http函式》header]

4.陣列函式 arsort 的作用是____;語句 error_reporting(2047)的作用是____。

答:arsort:對陣列進行逆向排序並保持索引關係 error_reporting(2047)的作用是:report all errors and warnings

5.寫出乙個正規表示式,過慮網頁上的所有js/vbs指令碼(即把script標記及其內容都去掉):

<?php

$script="以下內容不顯示:";

echo preg_replace("//si", "替換內容", $script);

?>

6.以apache模組的方式安裝php,在檔案http.conf中首先要用語句____動態裝載php模組,

然後再用語句____使得apache把所有擴充套件名為php的檔案都作為php指令碼處理。

見參考手冊》目錄》ii. 安裝與配置》6. windows 系統下的安裝》microsoft windows 下的 apache 2.0.x

7.語句 include 和 require 都能把另外乙個檔案包含到當前檔案中,它們的區別是____;為了避免多次包含同一檔案,可以用語句____來代替它們。

答:在如何處理失敗時,include() 產生乙個警告而 require() 則導致乙個致命錯誤;require_once()/include_once()

8.乙個函式的引數不能是對變數的引用,除非在php.ini中把____設為on.

答:allow_call_time_pass_reference boolean :是否啟用在函式呼叫時強制引數被按照引用傳遞, 見參考手冊》附錄g

9.sql 中left join的含義是__,如果 tbl_user記錄了學生的姓名(name)和學號(id),

tbl_score記錄了學生(有的學生考試以後被開除了,沒有其記錄)的學號(id)和考試成績(score)以及考試科目(subject),要想列印出各個學生姓名及對應的的各科總成績,則可以用sql語句____.

答:自然左外連線

create database phpinterview;

use phpinterview

create table tbl_user

(id                             int                            not null,

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, '數學');

insert into tbl_score (id, score, subject) values (2, 86, '數學');

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

10. 在php中,heredoc是一種特殊的字串,它的結束標誌必須____

答:結束識別符號所在的行不能包含任何其它字元除";"

11.寫乙個函式,能夠遍歷乙個資料夾下的所有檔案和子資料夾。

<?php

function my_scandir($dir)

else}}

closedir($handle);

return $files;

}        

}    

}print_r(my_scandir("d:program filesinternet explorermui"));

?>

**自bbs.php100.com

php面試題(二)附答案

1.單引號和雙引號的用法 雙引號串中的內容可以被解釋而且替換,而單引號串中的內容總被認為是普通字元 2.web開發中的安全性問題 1.sql注入攻擊 2.資料庫操作安全,update delete insert的操作沒有限制使用者操作許可權,這將是一件很危險的事情。3.沒有驗證使用者http請求的方...

PHP面試題系列五 附答案

一 基礎題 1.寫出如下程式的輸出結果 str1 null str2 false echo str1 str2 相等 不相等 str3 str4 0 echo str3 str4 相等 不相等 str5 0 str6 0 echo str5 str6 相等 不相等 2.寫出如下程式的輸出結果 a1 ...

kafka面試題 附答案

1.什麼是kafka kafka是分布式發布 訂閱訊息系統,它最初是由linkedin公司開發的,之後成為apache專案的一部分,kafka是乙個分布式,可劃分的,冗餘備份的永續性的日誌服務,它主要用於處理流式資料。2.為什麼要使用 kafka?為什麼要使用訊息佇列?緩衝和削峰 上游資料時有突發流...