首頁 後端開發 php教程 透过面试题目学习php之填空题

透过面试题目学习php之填空题

Jun 13, 2016 pm 12:02 PM
http php server session string

通过面试题目学习php之填空题

1、? 判断一个变量是否存在的函数:isset

判断一个变量是否为null的函数is_null

判断一个变量是否为空的函数empty

销毁一个变量的函数unset

2$a =array(1,2);unset($a[0]);print_r($a);echo count($a);请写出输出结果:

答:array(1=>2) ?; ?1

3$str = '2012/12/21';

echoereg_replace("([0-9]+)/([0-9]+)/([0-9]+)","\\1/\\2/\\3",$str);

请写出输出结果'2012/12/21'

4$a = "aaa"; $b ="bbb";$c = "$a$b";$c = $a.$b;请问①和②谁执行的更快?

答:②

5打印一个用‘.’链接的字符串时候,还可以用什么代替‘.’链接效率更高些?

答:可以用‘,’代替‘.’。‘,’效率更高。

6函数strpos的原型为:int strpos(string haystack,stringneedle [,int offset])

用来从haystack中查找needle,如果找到返回needlehaystack的偏移,否则返回false。问:如何区分strpos返回false和返回0

答:采用绝对等于进行判断。==是不判断二者是否是同一数据类型,而===是更为严格的比较,它不但要求二者值相等,而且还要求它们的数据类型也相同。

7请列出您所知道的php模版对象

答:smarty,常见的还有PHPLib,FastTemplate,Savant

8请写出pHp脚本中执行SHELL命令的方法,要求至少写两种。

答:①string? exec(stringcommand[,array output[,int return_var]])它返回输出的最后一行,还可以通过可选参数outputexec指定的命令结束时的每一行输出。

??String? systemString command[,int return_var])直接将命令输出返回给调用者。

??void ?passthru(String command[,int returan_var])向调用者返回二进制输出。

??string ?shell_exec ( string $cmd )将字符串当做shell命令来执行,并返回所有输出。

??resource ?popen ( string $command , string $mode ) 打开一个指向进程的管道,该进程由派生指定的 command 命令执行而产生。

9请写出pHp变量序列化和反序列化的函数,并举出1个应用例子

答:serialize()/unserialize().

10WWW应用的pHp程序中,如何捕捉页面缓存的输出?

答:ob_start() ;打开缓存区,将已载入的内容加载到缓存区。
ob_get_contents();
获取缓存区内容,经典用法 $str=ob_get_contents();

Ob_clean();仅仅清空缓冲区中的内容;
ob_end_clean();
清除缓冲区中缓存内容,并关闭输出缓冲区。

ob_start() 函数出现后开始所有的输出内容将被缓存,不被输出,直到出现 ob_end_clean() 函数。ob_end_clean()以后输出内容不再被缓存而且把以前的缓存内容清空掉。所以为了使用刚刚缓存了的内容必须在ob_end_clean()函数出现之前使用 ob_get_contents() 函数提取已经缓存了的内容。

ob_clean()ob_end_clean()有什么区别呢?

ob_clean 只是清除缓冲区中的内容.ob_end_cleanob_clean多做一些事情.就是关闭缓冲区.

ob_flush();刷新缓存区,将缓冲区内容输出;

ob_get_length();返回缓冲区中缓存内容的长度。

ob_get_clean();获取当前缓冲区中的内容,并删除输出缓冲区。

11执行第一段代码,你觉得结果可能是多少?

???????? $a = array(1,2);

???????? $b = array(3,4);

???????? var_dump($a+$b);

再执行第二段代码,结果又是多少呢?

???????? $a = array(1,2);

???????? $b = array('2'=>3,'3'=>4);

???????? var_dump($a+$b);

答:第一段代码结果是array([0]=>1,[1]=>2);

???????? 第二段代码结果是 array([0]=>1,[1]=>2,[2]=>3,[3]=>4);

???????? 这是因为php对数组相加的处理是当$a+$b时,如果$b数组中有与$a数组中不同的键,则把$b不同的数组项附加到$a数组中,并返回这个数组.

???????? 你可能会想到既然有加,是不是会有减呢,很抱歉,减是不可以的,无法通过语法检查

12echo 3|4;请问输出:

答:7

13echo count('12asssss');

答:1

14PHP打印出前一天的时间格式是2006-5-10 22:21:21

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

15使用哪些工具进行版本控制?

:cvs,svn,vss;

16、如何实现字符串翻转?

答:stringstrrev( string<em><span style="font-size: 12pt;"><span style="font-family: Consolas;">$string</span></span></em> )---php内置字符串反转函数。

function str_strrev($str)

{

??? $len=strlen($str);

??? $newstr = "";

??? for($i=$len;$i>=0;--$i)

??? {

?????? $newstr .= $str[$i];

??? }

??? return $newstr;

}

17MYSQL取得当前时间的函数是?,格式化日期的函数是

答:①curtime()/current_time()—返回当前时间

???????? curdate()/current_date()—返回当前日期

???????? now()—返回函数执行时的时间日期

???????? sysdate()—返回当时实时的时间。

uninx_timestamp()—返回当前时间日期的unix时间戳。

Date_format(date,format)—格式化日期的函数

18、用PHP写出显示客户端IP与服务器IP的代码?

答:function get_client_ip(){

??? if(getenv('HTTP_CLIENT_IP')){

??????? $client_ip = getenv('HTTP_CLIENT_IP');

??? } elseif(getenv('HTTP_X_FORWARDED_FOR')) {

??????? $client_ip = getenv('HTTP_X_FORWARDED_FOR');

??? } elseif(getenv('REMOTE_ADDR')) {

??????? $client_ip = getenv('REMOTE_ADDR');

??? } else {

??????? $client_ip = $_SERVER['REMOTE_ADDR'];

??? }

??? return $client_ip;

}

1.REMOTE_ADDR:浏览当前页面的用户计算机的ip地址
2.HTTP_X_FORWARDED_FOR: 浏览当前页面的用户计算机的网关
3.HTTP_CLIENT_IP:客户端的ip

PHP 中使用 $_SERVER["REMOTE_ADDR"] 来取得客户端的 IP 地址。但如果客户端是使用代理服务器来访问,那取到的就是代理服务器的 IP 地址,而不是真正的客户端 IP 地址。要想透过代理服务器取得客户端的真实 IP 地址,就要使用 $_SERVER["HTTP_X_FORWARDED_FOR"] 来读取。

不过要注意,并不是每个代理服务器都能用$_SERVER["HTTP_X_FORWARDED_FOR"] 来读取客户端的真实 IP,有些用此方法读取到的仍然是代理服务器的 IP

PHP 中使用 $_SERVER["REMOTE_ADDR"] 来取得客户端的 IP 地址,但如果客户端是使用代理服务器来访问,那取到的就是代理服务器的 IP 地址,而不是真正的客户端 IP 地址。要想透过代理服务器取得客户端的真实 IP 地址,就要使用 $_SERVER["HTTP_X_FORWARDED_FOR"] 来读取。不过要注意的事,并不是每个代理服务器都能用$_SERVER["HTTP_X_FORWARDED_FOR"] 来读取客户端的真实 IP,有些用此方法读取到的仍然是代理服务器的 IP

服务器端IP相关的变量

1. $_SERVER["SERVER_NAME"],需要使用函数gethostbyname()获得。这个变量无论在服务器端还是客户端均能正确显示。(gethostbyname($_SERVER["SERVER_NAME"]);

2. $_SERVER["SERVER_ADDR"],在服务器端测试:127.0.0.1(这个与httpd.confBindAddress的设置值相关)。在客户端测试结果正确。

19、如何修改SESSION的生存时间

:①修改php.ini中的session.gc_maxlifetime(After this number of seconds, stored data willbe seen as 'garbage' and cleaned up by the garbage collection process.),然后重启apache(注意:即使设置了垃圾回收的有效时间,但是能够触发垃圾回收器还存在一定的概率。session.gc_probability = 1(启动垃圾回收进程的几率);session.gc_divisor = 1000(启动垃圾回收进程几率因子,当前为千分之几); Define the probability that the'garbage collection' process is started. on every session initialization. Theprobability is calculated by using gc_probability/gc_divisor, e.g. 1/100 meansthere is a 1% chance that the GC process starts on each request.每次请求触发垃圾回收进程的几率)

②通过string session_save_path([ string $path ] )设置存储session文件的路径session_set_cookie_params(ini$lifetime,…)设置session回话cookie的有关参数(主要是session的生存周期),并且仅仅对当前执行php脚本有效。因此,如果对其他脚本设置,需要在启动session_start前调用该函数。

③通过setcookie()函数设置存储session_id信息的cookie生存周期,来控制session的生存周期,如下:setcookie(session_name(),session_id(),time()+N)

20、有一个网页地址, 比如PHP开发资源网主页: http://www.phpres.com/index.html,如何得到它的内容?

:①采用file_get_contents:

$url =" http://www.phpres.com/index.html";

$contents= file_get_contents($url);

②采用curl

$url =" http://www.phpres.com/index.html";

$ch =curl_init();

$timeout= 5;

curl_setopt($ch,CURLOPT_URL, $url);

curl_setopt($ch,CURLOPT_RETURNTRANSFER, 1);

curl_setopt($ch,CURLOPT_CONNECTTIMEOUT, $timeout);

//在需要用户检测的网页里需要增加下面两行

//curl_setopt($ch,CURLOPT_HTTPAUTH, CURLAUTH_ANY);

//curl_setopt($ch,CURLOPT_USERPWD, US_NAME.":".US_PWD);

$contents= curl_exec($ch);

curl_close($ch);

echo$contents;

③采用fopen->fread->fclose

$url =" http://www.phpres.com/index.html";

$handle =fopen ($url, "rb");

$contents= "";

do {

$data =fread($handle, 1024);

if(strlen($data) == 0) {

break;

}

$contents.= $data;

}while(true);

fclose($handle);

echo$contents;

21、在PHP中,heredoc是一种特殊的字符串,它的注意事项有?

答:①开始和结束标示符必须相同,且标示符必须完全由字母数字字符和下划线组成,而且不能以数字和下划线开头。

②开始标示符前面必须有三个左尖括号:

heredoc语法与双引号界定的字符串遵循相同的解析规则。即,变量和转义序列都将得到解析。唯一的区别是:此处的双引号不需要转义。

④结束符必须在一行的开始处,而且前面不能有空格或任何其他多余的字符。此外,开始和结束标示符后面的任何空格都会导致语法错误。

22、写出发贴数最多的十个人名字的SQL,利用下表:members(id,username,posts,pass,email)

答:SELECT username FROM members GROUP BY id ORDER BY COUNT(id) DESC limit0,10;

23、在PHPerror_reporting这个函数有什么作用?

答:设置错误报告的级别。该参数可以是一个任意的表示二进制位字段的整数,或者常数名称。

24、请写一个函数验证电子邮件的格式是否正确

答:/^([_a-z0-9-]+)(\.[_a-z0-9-]+)*@([a-z0-9-]+)(\.[a-z0-9-]+)*(\.[a-z]{2,4})$/

25、简述如何得到当前执行脚本路径,包括所得到参数。

答:$_SERVER[HTTP_HOST].$_SERVER[PHP_SELF].’?’.$_SERVER[QUERY_STRING];

26JS表单弹出对话框函数是?获得输入焦点函数是?

答:弹出对话框: alert(),prompt(),confirm()

获得输入焦点 focus()

27JS的转向函数是?怎么引入一个外部JS文件?

:window.location.href;

??

28foo()@foo()之间有什么区别?

答:foo();调用一个函数
@foo();调用一个函数,如果调用有错误,则忽略

29mysql_fetch_row() mysql_fetch_array之间有什么区别?

:mysql_fetch_row是从结果集取出1行数组,作为枚举

mysql_fetch_array是从结果集取出一行数组作为关联数组,或数字数组,两者兼得

30GD库是做什么用的?

:gd库提供了一系列用来处理图片的功能,使用GD库可以处理图片,或者生成图片。在网站上GD库通常用来生成缩略图或者用来对图片加水印或者对网站数据生成报表。

31、指出一些在PHP输入一段HTML代码的办法。

答:

32、下面的程序会输入是否?(1)

?  $num = 10;

?  function multiply(){

????????   $num = $num * 10;

?  }

?  multiply();

?  echo $num;

答:10

33、使用php写一段简单查询,查出所有姓名为“张三”的内容并打印出来 (2)

?  表名 UserName Tel Content Date

?     张三 13333663366 大专毕业 2006-10-11

?     张三 13612312331 本科毕业 2006-10-15

?     张四 021-55665566 中专毕业 2006-10-15

?  请根据上面的题目完成代码:

答:$mysql_db=mysql_connect("local","root","pass");

?  @mysql_select_db("DB",$mysql_db);

???????? $query = mysql_query(“select * fromtable_name where username=’张三’”,$mysql_db);

???????? While($row =mysql_fetch_array($query)){

?????????????????? Print_r($row);

??????? }

34MySQ自增类型(通常为表ID字段)必需将其设为(?)字段

答:auto_increment

35、写出以下程序的输出结果 (1)

?  $b=201;

?  $c=40;

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

?  echo $a;

答:4

36、取得查询结果集总数的函数是?获取更新操作影响的总数量的函数是?

答:mysql_num_rows($result);mysql_affected_rows($result);

37$arr = array('james', 'tom', 'symfony'); 请打印出第一个元素的值

答:echo $arr[0];

38、请将37题的数组的值用','号分隔并合并成字串输出

答:echo implode(“,”,$arr);

39$a = 'abcdef'; 请取出$a的值并打印出第一个字母

:echo $a[0] echo substr($a,0,1)

40、请写出PHP5权限控制修饰符

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

41、在PHP中,当前脚本的名称(不包括路径和查询字符串)记录在预定义变量____;而链接到当前页面的URL记录在预定义变量____中。

答:$_server[SCRIPT_NAME];$_server[HTTP_REFERER];

42、在HTTP 1.0中,状态码 401 的含义是_状态401代表未被授权___;如果返回“找不到文件”的提示,则可用 header 函数,其语句为_header(“HTTP/1.1404 Not Find”)___

答:①状态401代表未被授权_header(“HTTP/1.0 404 Not Found”);

43、数组函数 arsort 的作用是____;语句 error_reporting(2047)的作用是____

答:arsort()本函数对数组进行逆序排序,数组的索引保持和单元的关联

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

44PEAR中的数据库连接字符串格式是____

: 一般来说,$dsn是一

本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn

熱AI工具

Undresser.AI Undress

Undresser.AI Undress

人工智慧驅動的應用程序,用於創建逼真的裸體照片

AI Clothes Remover

AI Clothes Remover

用於從照片中去除衣服的線上人工智慧工具。

Undress AI Tool

Undress AI Tool

免費脫衣圖片

Clothoff.io

Clothoff.io

AI脫衣器

Video Face Swap

Video Face Swap

使用我們完全免費的人工智慧換臉工具,輕鬆在任何影片中換臉!

熱門文章

<🎜>:泡泡膠模擬器無窮大 - 如何獲取和使用皇家鑰匙
3 週前 By 尊渡假赌尊渡假赌尊渡假赌
北端:融合系統,解釋
3 週前 By 尊渡假赌尊渡假赌尊渡假赌
Mandragora:巫婆樹的耳語 - 如何解鎖抓鉤
3 週前 By 尊渡假赌尊渡假赌尊渡假赌

熱工具

記事本++7.3.1

記事本++7.3.1

好用且免費的程式碼編輯器

SublimeText3漢化版

SublimeText3漢化版

中文版,非常好用

禪工作室 13.0.1

禪工作室 13.0.1

強大的PHP整合開發環境

Dreamweaver CS6

Dreamweaver CS6

視覺化網頁開發工具

SublimeText3 Mac版

SublimeText3 Mac版

神級程式碼編輯軟體(SublimeText3)

熱門話題

Java教學
1665
14
CakePHP 教程
1424
52
Laravel 教程
1322
25
PHP教程
1270
29
C# 教程
1249
24
PHP和Python:比較兩種流行的編程語言 PHP和Python:比較兩種流行的編程語言 Apr 14, 2025 am 12:13 AM

PHP和Python各有優勢,選擇依據項目需求。 1.PHP適合web開發,尤其快速開發和維護網站。 2.Python適用於數據科學、機器學習和人工智能,語法簡潔,適合初學者。

PHP行動:現實世界中的示例和應用程序 PHP行動:現實世界中的示例和應用程序 Apr 14, 2025 am 12:19 AM

PHP在電子商務、內容管理系統和API開發中廣泛應用。 1)電子商務:用於購物車功能和支付處理。 2)內容管理系統:用於動態內容生成和用戶管理。 3)API開發:用於RESTfulAPI開發和API安全性。通過性能優化和最佳實踐,PHP應用的效率和可維護性得以提升。

PHP:網絡開發的關鍵語言 PHP:網絡開發的關鍵語言 Apr 13, 2025 am 12:08 AM

PHP是一種廣泛應用於服務器端的腳本語言,特別適合web開發。 1.PHP可以嵌入HTML,處理HTTP請求和響應,支持多種數據庫。 2.PHP用於生成動態網頁內容,處理表單數據,訪問數據庫等,具有強大的社區支持和開源資源。 3.PHP是解釋型語言,執行過程包括詞法分析、語法分析、編譯和執行。 4.PHP可以與MySQL結合用於用戶註冊系統等高級應用。 5.調試PHP時,可使用error_reporting()和var_dump()等函數。 6.優化PHP代碼可通過緩存機制、優化數據庫查詢和使用內置函數。 7

PHP與Python:了解差異 PHP與Python:了解差異 Apr 11, 2025 am 12:15 AM

PHP和Python各有優勢,選擇應基於項目需求。 1.PHP適合web開發,語法簡單,執行效率高。 2.Python適用於數據科學和機器學習,語法簡潔,庫豐富。

PHP的持久相關性:它還活著嗎? PHP的持久相關性:它還活著嗎? Apr 14, 2025 am 12:12 AM

PHP仍然具有活力,其在現代編程領域中依然佔據重要地位。 1)PHP的簡單易學和強大社區支持使其在Web開發中廣泛應用;2)其靈活性和穩定性使其在處理Web表單、數據庫操作和文件處理等方面表現出色;3)PHP不斷進化和優化,適用於初學者和經驗豐富的開發者。

PHP和Python:代碼示例和比較 PHP和Python:代碼示例和比較 Apr 15, 2025 am 12:07 AM

PHP和Python各有優劣,選擇取決於項目需求和個人偏好。 1.PHP適合快速開發和維護大型Web應用。 2.Python在數據科學和機器學習領域佔據主導地位。

PHP與其他語言:比較 PHP與其他語言:比較 Apr 13, 2025 am 12:19 AM

PHP適合web開發,特別是在快速開發和處理動態內容方面表現出色,但不擅長數據科學和企業級應用。與Python相比,PHP在web開發中更具優勢,但在數據科學領域不如Python;與Java相比,PHP在企業級應用中表現較差,但在web開發中更靈活;與JavaScript相比,PHP在後端開發中更簡潔,但在前端開發中不如JavaScript。

PHP和Python:解釋了不同的範例 PHP和Python:解釋了不同的範例 Apr 18, 2025 am 12:26 AM

PHP主要是過程式編程,但也支持面向對象編程(OOP);Python支持多種範式,包括OOP、函數式和過程式編程。 PHP適合web開發,Python適用於多種應用,如數據分析和機器學習。

See all articles