首页 后端开发 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

使用我们完全免费的人工智能换脸工具轻松在任何视频中换脸!

热门文章

<🎜>:泡泡胶模拟器无穷大 - 如何获取和使用皇家钥匙
4 周前 By 尊渡假赌尊渡假赌尊渡假赌
北端:融合系统,解释
4 周前 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教程
1673
14
CakePHP 教程
1428
52
Laravel 教程
1333
25
PHP教程
1278
29
C# 教程
1257
24
PHP与Python:了解差异 PHP与Python:了解差异 Apr 11, 2025 am 12:15 AM

PHP和Python各有优势,选择应基于项目需求。1.PHP适合web开发,语法简单,执行效率高。2.Python适用于数据科学和机器学习,语法简洁,库丰富。

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 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 14, 2025 am 12:12 AM

PHP仍然具有活力,其在现代编程领域中依然占据重要地位。1)PHP的简单易学和强大社区支持使其在Web开发中广泛应用;2)其灵活性和稳定性使其在处理Web表单、数据库操作和文件处理等方面表现出色;3)PHP不断进化和优化,适用于初学者和经验丰富的开发者。

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

PHP主要是过程式编程,但也支持面向对象编程(OOP);Python支持多种范式,包括OOP、函数式和过程式编程。PHP适合web开发,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 15, 2025 am 12:07 AM

PHP和Python各有优劣,选择取决于项目需求和个人偏好。1.PHP适合快速开发和维护大型Web应用。2.Python在数据科学和机器学习领域占据主导地位。

See all articles