1、写出五种以上你使用过的PHP的扩展的名称(提示:常用的PHP扩展)
mysql、gd2、pdo、curl、mbstring、soap等,在php.ini中可以找到。尽量多了解一些扩展,了解他们的功能(能做什么)。
应用程序的模型部分关心的是欲显示的数据的细节。
9、$a = 1;
$x = &$a;
$b = $a++;
what is $b? $x?
参考references2.php
10、$array = array();
$x = empty($array);
what is $x? true or false 参考 empty.php
什么样的内容为空?
empty()、isset()、is_null
程序继续执行;程序停止往下执行。一般推荐使用
实际开发过程中:如果确定某个文件只会被包含一次,那么用 require,否则用require_once。因为require不需要检测文件是否被包含过,比require_once 的执行效率要高。
21、一个函数的参数不能是对变量的引用,除非在php.ini中把__设为on。
allow_call_time_pass_reference
quote.php
22、在PHP中,heredoc是一种特殊的字符串,它的结束标志必须__。
结束标识符所在的行不能包含任何其它字符除”;”
参考heredoc.php
23、有一数组 $a=array(3,2,4,9,8);请将其重新排序,按从小到大的顺序列出。
可用冒泡法进行排序:
冒泡排序的基本概念是:依次比较相邻的两个数,将小数放在前面,大数放在后面。即首先比较第1个和第2个数,将小数放前,大数放后。然后比较第2个数和第3个数,将小数放前,大数放后,如此继续,直至比较最后两个数,将小数放前,大数放后,此时第一趟结束,在最后的数必是所有数中的最大数。重复以上过程,仍从第一对数开始比较(因为可能由于第2个数和第3个数的交换,使得第1个数不再小于第2个数),将小数放前,大数放后,一直比较到最大数前的一对相邻数,将小数放前,大数放后,第二趟结束,在倒数第二个数中得到一个新的最大数。如此下去,直至最终完成排序。
24、写出session的运行机制。
session创建时,是否会在服务端记录一个cookie?cookie里面的内容是什么?
37、$arr = array(‘james’, ‘tom’, ‘symfony’); 请打印出第一个元素的值 ac
a.echo $arr[0];
71、What is the difference between “print()” and “echo()”? Answer: print is a function,echo is a language construct
72、写出以下程序的运行结果
1、用PHP打印出前一天时间格式是-5-10 22:21:21(2分) $a = date("Y-m-d H:i:s",strtotime("-1 day")); print_r($a); 2、echo(),print(),print_r()区别(3分) echo 和print不是一种函数,是一种语言构造 int print(string $arg),只有一种参数 echo arg1,arg2;可以输出各种参数,返回void echo和print只能打印出string,不能打印出构造 print_r能打印出构造 例如 $arr = array("key"=>"value"); print_r($arr); 3、可以使HTML和PHP分离开使用模板(1分) smarty,phplib 4、使用哪些工具进行版本控制?(1分) svn,git,cvs 5、如何实现字符串翻转?(3分) 英文: strrev($a)
中文或其她文字: 中文:GB2312,代码是使用GB2312编码
P h p面试宝典100题汇总-标准化文件发布号:(9556-EUATWK-MWUB-WUNN-INNUL-DDQTY-KII
Php面试100题汇总 1,Http 和Https的区别 第一:http是超文本传输协议,信息是明文传输,https是具有安全性的ssl加密传输协议 第二:http和https使用的是完全不同的连接方式,端口也不一样,前者80 或者443第三:http连接很简单,是无状态的。https协议是由ssl+http协议构建的可进行加密传输,身份认证的网络协议。 2.什么方法来加快页面的加载速度 1,用到服务器资源时在打开,不用时,立即关闭服务器资源。 2,数据库添加索引 3,页面可生成静态 4,图片等大文件单独放在一个服务器 5,能不查询数据库的尽量不去数据取数据,可以放在缓存中。 3.表单中 get与post提交方法的区别? 答:get是发送请求HTTP协议通过url参数传递进行接收,而post是实体数据,可以通过表单提交大量信息. ,print,print_r 的区别: echo 是php语句,无返回值。 print,print_r是函数,有返回值。 print()只能打印出简单类型变量的值(如int,string) print_r()可以打印出复杂类型变量的值(如数组,对象) echo 输出一个或者多个字符串 与cookie区别 session与cookie相同:跨页面、不跨用户 session与cookie不相同: 1、session可以存储任意类型的数据,但cookie只能存储字符串 2、cookie产生在服务器端、存储在客户端 session产生在服务器端、存储在服务器端 6.魔术常量 答案: __LINE__文件中的当前行号。 __FILE__文件的完整路径和文件名。 __FUNCTION__函数名称 __CLASS__类的名称 __METHOD__类的方法名 7.数据库中的事务是什么? 答:事务(transaction)是作为一个单元的一组有序的数据库操作。如果组中的所有操作都成功,则认为事务成功,即使只有一个操作失败,事务也不成功。如果所有操作完成,事
比较基础的php面试题及答案 填空题:1.在PHP中,当前脚本的名称(不包括路径和查询字符串)记录在预定义变量__$_SERVER[PHP_SELF]__中;而链接到当前页面的URL记录在预定义变量__$_SERVER[HTTP_REFERER]__中2.执行程序段将输出__0__。3.在HTTP 1.0中,状态码401 的含义是____;如果返回“找不到文件”的提示,则可用header 函数,其语句为____。4.数组函数arsort 的作用是__对数组进行逆向排序并保持索引关系__;语句error_reporting(2047)的作用是__报告所有错误和警告__。5.PEAR中的数据库连接字符串格式是____。6.写出一个正则表达式,过虑网页上的所有JS/VBS脚本(即把scrīpt标记及其内容都去掉):preg_replace(“//si”, “newinfo”, $script);7.以Apache 模块的方式安装PHP,在文件http.conf中首先要用语句____动态装载PHP模块,然后再用语句____使得Apache把所有扩展名为php 的文件都作为PHP脚本处理。LoadModule php5_module “c:/php/php5apache2.dll”, AddType application/x-httpd-php .php,8.语句include 和require 都能把另外一个文件包含到当前文件中,它们的区别是____;为了避免多次包含同一文件,可以用语句__require_once||include_once__来代替它们。9.类的属性可以序列化后保存到session 中,从而以后可以恢复整个类,这要用到的函数是____。10.一个函数的参数不能是对
php面试题及答案,经典php笔试题与答案 问题 1.考虑如下脚本。标记处应该添加什么代码才能让脚本输出字符串 php? $alpha = 'abcdefghijklmnopqrstuvwxyz'; $letters = array(15, 7, 15); foreach($letters as $val) {/* 这里应该加入什么 */ } ?> A.echo chr($val); B.echo asc($val); C.echo substr($alpha, $val, 2); D.echo $alpha{$val}; E.echo $alpha{$val+1} 2.以下哪一项不能把字符串$s1 和$s2 组成一个字符串? A.$s1 + $s2 B.”{$s1}{$s2}” C.$s1.$s2 D.implode(”, array($s1,$s2)) E.以上都可以 3.变量 $email 的值是字符串 user@https://www.doczj.com/doc/132650730.html, ,以下哪项能把字符串转化成 https://www.doczj.com/doc/132650730.html,? A.substr($email, strpos($email, “@”));
B.strstr($email, “@”); C.strchr($email, “@”); D.substr($email, strpos($email, “@”)+1); E.strrpos($email, “@”); 4.给定一个用逗号分隔一组值的字符串,以下哪个函数能在仅调用一次的情况下就把每 个独立的值放入一个新创建的数组? A.strstr() B.不可能只调用一次就完成 C.extract() D.explode() E.strtok() 5.要比较两个字符串,以下那种方法最万能? A.用 strpos 函数 B.用==操作符 C.用 strcasecmp() D.用 strcmp() 6.以下哪个 PCRE 正则表达式能匹配字符串 php|architect? A..* B.…|……… C.\d{3}\|\d{8} D.[az]{3}\|[az]{9} E.[a-z][a-z][a-z]\|\w{9} 7.以下哪些函数能用来验证字符串的完整性?(三选)
PHP程序员考题 考试说明: 1、试卷总分为100分。 2、本次考试时间为120分钟。 一、逻辑推理题(9分,每题3分) 1. Jack夫妇请了Tom夫妇和Henrry夫妇来他们家玩扑克。这种扑克游戏有一种规则,夫妇两个不能一组。Jack跟Lily一组,Tom的队友是Henrry的妻子,Linda的丈夫和Sara一组。那么这三对夫妇分别为:(B) A. Jack—Sara,Tom—linda,Henrry—Lily B. Jack—Sara,Tom—Lily,Henrry—linda C. Jack—linda,Tom—Lily,Henrry—Sara D. Jack—Lily,Tom—Sara,Henrry—linda 2. 有17根11.1米长的钢管,要截成1.0米和0.7米的甲、乙两种长度的管子,要求截成的甲、乙两种管子的数量一样多。问:最多能截出甲、乙两种管子各多少根?(C) A. 99 B.105 C. 111 D. 121 3. 一个水库在年降水量不变的情况下,能够维持全市12万人20年得用水量。在该市新迁入3万人之后,该水库只够维持15年得用水量。市政府号召节约用水,希望能将水库的使用寿命提高到30年。那么该市市民平均需要节约多少比例的水才能实现政府制定的目标?(A) A.2/5 B.2/7 C.1/3 D.1/4 二、PHP语言题(36分,每题3分) 1.语句for($k=0;$k=1;$k++);和语句for($k=0;$k==1;$k++);执行的次数分别是(3分): A 无限和0 B 0和无限 C 都是无限 D 都是0 参考答案:A 2.读取post方法传递的表单元素值的方法是(3分): A $_post["名称"] B $_POST["名称"] C $post["名称"] D $POST["名称"] 参考答案:B 3.下面哪个函数可以打开一个文件,以对文件进行读和写操作?(3分) A fget()
php 笔试大全面试题答案解析 2009-09-23 13:31 选择题 1、如何产生带有数字列表符号的列表?(c) A.
6、以下一段XHTML代码片段,它不符合W3C规范,请问出现了几处错误: ( 2)
问题 1.选择合适的答案填入空白处 PHP 是一种______脚本语言,基于______引擎。PHP 最常被用来开发动态的 ______内 容,此外,它同样还可被用来生成______(以及其他)文档。 A.动态,PHP,数据库,HTML B.嵌入式,Zend,HTML,XML C.基于 Perl 的,PHP,Web,静态 D.嵌入式,Zend,Docbook 文档,MySQL E.基于 Zend 的,PHP,图像,HTML 1.唯一有意义的答案是 B。PHP 是一种基于 Zend 引擎的脚本语言,它通常被嵌入在 HTML 代码中。它主要被用来开发 HTML 文档,但是也可以用它来开发其他类型的文档,比 如 XML。 2.以下哪种标签不是 PHP 起始/结束符? A.<% %> B.// C. D./* */ E.
2. PHP 编程中,人们不太使用<% %>和两个标签,但它们确实是合法的 PHP 界定符。 标签是非法的,因此正确的答案是 D。记住,根据 php.ini 文件中的配置不同,这 当中的某些标签无法在特定的情况下使用。 3.以下代码哪个不符合 PHP 语法? A.$_10 B.${“MyVar”} C.&$something D.$10_somethings E.$aVaR 3. PHP 变量以一个美元符号为开头,后面跟上任意数量的数字、字母和下划线。${“MyVar”} 是一个合法的变量名,它使用的是较松散的命名约定。&$something 是对$something 的 引用。然而,变量名不能以数字为开头,$10_somethings 是非法的,因此答案是 D。 4.运行以下代码将显示什么? define(myvalue, "10"); $myarray[10] = "Dog"; $myarray[] = "Human"; $myarray['myvalue'] = "Cat"; $myarray["Dog"] = "Cat";
1 php面试题及答案(原创)收藏 基础题: 1.表单中get与post提交方法的区别? 答:get是发送请求HTTP协议通过url参数传递进行接收,而post是实体数据,可以通过表单提交大量信息. 2.session与cookie的区别? 答:session:储存用户访问的全局唯一变量,存储在服务器上的php指定的目录中的(session_dir)的位置进行的存放 cookie:用来存储连续訪問一个頁面时所使用,是存储在客户端,对于Cookie来说是存储在用户WIN的Temp目录中的。 两者都可通过时间来设置时间长短 3.数据库中的事务是什么? 答:事务(transaction)是作为一个单元的一组有序的数据库操作。如果组中的所有操作都成功,则认为事务成功,即使只有一个操作失败,事务也不成功。如果所有操作完成, 事务则提交,其修改将作用于所有其他数据库进程。如果一个操作失败,则事务将回滚,该事务所有操作的影响都将取消。 简述题: 1、用PHP打印出前一天的时间格式是2006-5-10 22:21:21(2分)**************** 答:echo date('Y-m-d H:i:s', strtotime('-1 days')); 2、echo(),print(),print_r()的区别(3分) 答:echo是PHP语句, print和print_r是函数,语句没有返回值,函数可以有返回值(即便没有用) print()只能打印出简单类型变量的值(如int,string) print_r()可以打印出复杂类型变量的值(如数组,对象) echo 输出一个或者多个字符串 3、能够使HTML和PHP分离开使用的模板(1分) 答:Smarty,Dwoo,TinyButStrong,Template Lite,Savant,phemplate,XTemplate 5、使用哪些工具进行版本控制?(1分) 答:cvs,svn,vss; 6、如何实现字符串翻转?(3分) 答:echo strrev($a); 7、优化MYSQL数据库的方法。(4分,多写多得) 答: 1、选取最适用的字段属性,尽可能减少定义字段长度,尽量把字段设置NOT NULL,例如'省份,性别',最好设置为ENUM 2、使用连接(JOIN)来代替子查询: 3、使用联合(UNION)来代替手动创建的临时表 4、事务处理:
一、MySQL相关知识 1、请列举mysql优化方式 选取最适用的字段属性、事务、锁定表、使用外键、使用索引、优化的查询语句 使用连接(JOIN)来代替子查询(Sub-Queries) 使用联合(UNION)来代替手动创建的临时表 2、请列举分库分表的常用方法 有一个1000多万条记录的用户表members,查询起来非常之慢 "; echo "INSERT INTO members{$i} SELECT * FROM members WHERE mid%100={$i}
"; } ?> 3、 Mysql+如何做双机热备和负载均衡 1.主服务器授权 2.数据复制 3.配置主服务器 4.重启master 5.配置slave 6.重启slave 7.查看master的状态与设置的是否一致 8.查看slave 4、数据表类型有哪些 MyISAM、InnoDB、HEAP、BOB,ARCHIVE,CSV等 MyISAM:成熟、稳定、易于管理,快速读取。一些功能不支持(事务等),表级锁。InnoDB:支持事务、外键等特性、数据行锁定。空间占用大,不支持全文索引等。 5、防sql注入的方法? mysql_escape_string(strip_tags($arr["$val"]));
6、mysql把一个大表拆分多个表后,如何解决跨表查询效率问题 [php]view plaincopy 1./** 2.* 函数名称:post_check() 3.* 函数作用:对提交的编辑内容进行处理 4.* 参数:$post: 要提交的内容 5.* 返回值:$post: 返回过滤后的内容 6.*/ 7.function post_check($post){ 8.if(!get_magic_quotes_gpc()){// 判断magic_quotes_gpc是否为打 开 9.$post = addslashes($post);// 进行magic_quotes_gpc没有打开的 情况对提交数据的过滤 10.} 11.$post = str_replace("_","\_", $post);// 把'_'过滤掉 12.$post = str_replace("%","\%", $post);// 把'%'过滤掉 13.$post = nl2br($post);// 回车转换 14.$post = htmlspecialchars($post);// html标记转换 15.return $post; 16.} 7、索引应用 7.1什么情况下考虑索引 7.2什么情况不适合索引 7.3一个语句是否用到索引如何判断
T1 一、填空题 1.PHP是用什么语言编写的? :脚本语言 2. LAMP的全称是? :LINUX 、APACHE、MYSQL、PHP 3. PHP的三种注释方式? :#、//、/**/ 4. PHP使用什么符号定义变量? :$ 二、简答题 1. 请列出PHP的8种数据类型。? :整型、浮点型、字符串、数组、逻辑、对象、NULL、资源型 :资源RESOURCE是一种特殊变量,保存了到外部资源的一个引用。资源是通过专门的函数来建立和使用的。 2. 写出如下程序的输出结果? $TEST = ‘AAAAAA’; $ABC = & $TEST; UNSET($TEST); ECHO $ABC; ?> :AAAAAA 3. 4.$I=2,编程实现判断$I是否为整型,是则输出$I,不是则输出“非整型变量”? $L=2 IF(IS_INT($L)){ ECHO $L; }ELSE{ ECHO “非整型变量”; } IS_ARRA Y IS_BOOL I S_CALLABLE IS_DOUBLE IS_FLOA T IS_ALONG IS_NUMBERIC IS_OBJECT IS_RESOURCE IS_STRING T2 PHP基础部分 1. 以下PHP代码的输出结果? $I=10; $N = $I++; ECHO $N, $I++, ++$I :10,11,13 2. INCLUDE与REQUIRE的区别? :REQUIRE 的使用方法如REQUIRE("MYREQUIREFILE.PHP"); 。这个函数通常放在PHP 程序的最前面,PHP 程序在执行前,就会先读入REQUIRE 所指定引入的文件,使它变成PHP 程序网页的一部份。常用的函数,亦可以这个方法将它引入网页中。INCLUDE 使用方法如INCLUDE("MYINCLUDEFILE.PHP"); 。这个函数一般是放在流程控制的处理部分中。PHP 程序网页在读到INCLUDE 的文件时,才将它读进来。这种方式,可以把程序执行时的流程简单化。 他们两个的用途是完全一样的,不一定非得哪个放在最前面哪个放在中间。他们最根本的区
问题1:请用最简单的语言告诉我PHP是什么? 回答:PHP全称:Hypertext Preprocessor,是一种用来开发动态网站的服务器脚本语言。问题2:什么是MVC? 回答:MVC由Model(模型), View(视图)和Controller(控制器)组成,PHP MVC可以更高效地管理好3个不同层的PHP代码。 Model:数据信息存取层。 View:view层负责将应用的数据以特定的方式展现在界面上。 Controller:通常控制器负责从视图读取数据,控制用户输入,并向模型发送数据。 问题3:在页面中引用CSS有几种方式? 回答:在页面中使用CSS有3中方式: 引用外部CSS文件 内部定义Style样式 内联样式 问题4:PHP支持多继承吗? 回答:不可以。PHP类只能继承一个父类,并用关键字“extended”标识。 问题5:请问PHP中echo和print有什么区别? 这两个看起来很相似,因为它们都是将一些值打印在屏幕上。但是echo和print的本质区别在于:echo用来输出字符串,显示多个值的时候可以用逗号隔开。只支持基本类型,print 不仅可以打印字符串值,而且可以打印函数的返回值。 问题6:请问GET和POST方法有什么区别? 回答:我们再网页上填写的表单信息都可以通过这两个方法将数据传递到服务器上,当我们使用GET方法是,所有的信息都会出现在URL地址中,并且使用GET方法最多只能传递1024个字符,所以如果在传输量小或者安全性不那么重要的情况下可以使用GET方法。说到POST 方法,最多可以传输2MB字节的数据,而且可以根据需要调节。 问题7:PHP中获取图像尺寸大小的方法是什么? 回答:getimagesize () 获取图片的尺寸 Imagesx () 获取图片的宽度 Imagesy () 获取图片的高度 问题8:PHP中的PEAR是什么?
最常见的php面试题 目录 面试题一 (1) 面试题二 (3) 面试题三 (4) 面试题四 (6) 面试题五 (7) 面试题六 (8) 面试题七 (9) 本面试题分为七套,这些大部分都是本人被面试过的总结,发出来给大家参考,希望能助你在面试中顺利过关! 面试题一 1、表单提交get和post有何区别? 答:get的方式是把数据在地址栏中发送,get传送的数据量较小,不能大于2KB。post传送的数据量较大,一般被默认为不受限制。但理论上,IIS4中最大量为80KB,IIS5中为100KB。 2、用PHP打印出前一天的时间格式是2006-5-10 22:21:21 echo date("Y-m-d H:i:s",time()-(3600*24));或echo date("Y-m-d H:i:s",strtotime("-1 day")); 3、php中include和require的区别? 这两种结构除了在如何处理失败之外完全一样。include() 产生一个警告而require() 则导致一个致命错误。换句话说,如果你想在遇到丢失文件时停止处理页面就用require()。include() 就不是这样,脚本会继续运行。 4、echo(),print(),print_r()的区别 echo可以接多个参数,print只能接一个参数,它们都是PHP的语言结构,print_r是递规打印,用来打印数组或对象 5、能够使HTML和PHP分离开使用的模板 smarty,phplib,SmartTemplate 6你如何理解MVC模式? 首先说一下框架,框架:就是别人把一些底层,常用操作.比如数据操作(增,删,改,查)写好.你来直接用.其它的功能要自己来做。 MVC:设计模式,M模型,V显示,C控制.现在许多框架都是基于MVC来做的把逻辑和显示分开.比如你要换页面,只需要改V里面的东西并不需要再去变动程序!(详细的东西可以上网上查一下) 7、如何实现PHP、JSP交互?
php面试题 1.CSS中下列哪个属性可以改变行内元素占用的高度() A.height B.line-height C.padding-top,padding-bottom D.margin-top,margin-bottom 2.在新窗口打开链接的方法是________。 A. target = _ blank B. target = _self C. target = _parent D. target = _ top 3.怎样实现div水平垂直居中() A.position:absolute;top:50%;left:50%;transform:translate(-50%,-50%); B. position:absolute;top:50%;margin: 0 auto; C. position:absolute;top:50%;left:50%;margin: -50%,-50%; D. margin: 0 auto; transform:translateY(50%); 4.rgba()和opacity都能实现透明效果,下列说法不准确的是() A. rgba()可以设置颜色,而opacity只能设置透明度 B.opacity会作用于自身及其后代元素 C.rgba()只会作用于自身不作用于其后代元素 D.opacity 的值为1时表示全透明。 5. var a={value:1}; var b = a; b.value = 2; a.value = 3; 以上代码执行后b.value 的值为() A.undefined B. 1 C. 2 D. 3 6. parseFloat(‘12.34.5’)的值为() A.NaN B. 12 C. 12.34 D.34.5 7.var a= "11" + 2 - "1" + 3;;a的值为() A.NaN
1.以下哪一句不会把John 新增到users 阵列? $users*+ = ‘john’; 成功把John 新增到阵列users。 array_add($users,’john’); 函式array_add() 无定义。 array_push($users,‘john’); 成功把John 新增到阵列users。 $users ||= ‘john’; 语法错误。 2.sort()、assort()、和ksort() 有什么分别?它们分别在什么情况下使用? sort() 根据阵列中元素的值,以英文字母顺序排序,索引键会由0 到n-1 重新编号。主要是当阵列索引键的值无关疼痒时用来把阵列排序。 assort() PHP 没有assort() 函式,所以可能是asort() 的笔误。 asort() 与sort() 一样把阵列的元素按英文字母顺序来排列,不同的是所有索引键都获得保留,特别适合替联想阵列排序。 ksort() 根据阵列中索引键的值,以英文字母顺序排序,特别适合用于希望把索引键排序的联想阵列。 3.以下的代码会产生什么?为什么? $num =10; function multiply(){ $num =$num *10; } multiply(); echo $num; 由于函式multiply() 没有指定$num 为全域变量(例如global $num 或者$_GLOBALS['num']),所以$num 的值是10。 4. reference 跟一个正规的变量有什么分别?如何pass by reference?在什么情况下我们需要这样做? Reference 传送的是变量的地址而非它的值,所以在函式中改变一个变量的值时,整个应用都见到这个变量的新值。 一个正规变量传送给函式的是它的值,当函式改变这个变量的值时,只有这个函式才见到新值,应用的其他部分仍然见到旧值。 $myVariable = “its’value”;Myfunction(&$myVariable); // 以reference 传送参数
精品文档 1.以下哪一句不会把John 新增到users 阵列? $users[] = 'john'; 成功把John 新增到阵列users。 array_add($users,'john'); 函式array_add() 无定义。 array_push($users,‘john'); 成功把John 新增到阵列users。 $users ||= 'john'; 语法错误。 2.sort()、assort()、和ksort() 有什么分别?它们分别在什么情况下使用? sort() 根据阵列中元素的值,以英文字母顺序排序,索引键会由0 到n-1 重新编号。主要是当阵列索引键的值无关疼痒时用来把阵列排序。 assort() PHP 没有assort() 函式,所以可能是asort() 的笔误。 asort() 与sort() 一样把阵列的元素按英文字母顺序来排列,不同的是所有索引键都获得保留,特别适合替联想阵列排序。 ksort() 根据阵列中索引键的值,以英文字母顺序排序,特别适合用于希望把索引键排序的联想阵列。3.以下的代码会产生什么?为什么? $num =10; function multiply(){ $num =$num *10; } multiply(); echo$num; 由于函式multiply() 没有指定$num 为全域变量(例如global $num 或者 $_GLOBALS['num']),所以$num 的值是10。 4. reference 跟一个正规的变量有什么分别?如何pass by reference?在什么情况下我们需要这 样做? Reference 传送的是变量的地址而非它的值,所以在函式中改变一个变量的值时,整个应用都见到这个变量的新值。 一个正规变量传送给函式的是它的值,当函式改变这个变量的值时,只有这个函式才见到新值,应用的其他部分仍然见到旧值。 $myVariable = its' value; Myfunction(&$myVariable); // 以reference 传送参数以reference 传送参数给函式,可以使函式改变了的变量,即使在函式结束后仍然保留新值。 5.些函式可以用来在现正执行的脚本中插入函式库? 对这道题目不同的理解会有不同的答案,我的第一个想法是插入PHP 函式库不外乎 include()、include_once()、require()、require_once(),但细心再想,“函式库”也应该包括com
php面试问题及答案 php面试问题及答案一 1.简述两种屏蔽php程序的notice警告的方法 初始化变量,文件开始设置错误级别或者修改php.ini 设置error_reporting set_error_handler 和 @抑制错误 01.在程序中添加:error_reporting (E_ALL & ~E_NOTICE); 02.或者修改php.ini中的:error_reporting = E_ALL 改为:error_reporting = E_ALL & ~E_NOTICE 03.error_reporting(0);或者修改php.inidisplay_errors=Off 2.instanceof的作用, 经常在什么设计模式中使用 单例模式,但是其他的模式也会用到 3.1023用二进制表示, 并简述计算过程 10-2 1023%2=1 511%2 =1 255%2 =1 127%2 =1
63%2 =1 31%2 =1 15%2 =1 7%2 =1 3%2 =1 1%2 =1 0 =0 ------------------------------------------- 1023 2^9= 511 k=9 10 9 8 7 6 5 4 3 2 1 1 1 1 1 1 1 1 1 1 1 ---------------------- 1023 1 1023-1/2=511 1 511-1/2=255 1 255-1/2=127 1 127-1/2=63 1 63-1/2=31 1 31-1/2=15 1
15-1/2=7 1 7-1/2=3 1 3-1/2=1 1 ----------------------------------------------- 2-10 只需用将二进制数的各个位上的数从最右边开始,最右边的第一个数乘以二的零次方,第二个数乘以二的一次方,第三个数乘以二的二次方,依次类推可得第n个数乘以二的(n-1)次方,然后把得到的结果相加即可 例如:110011=1*2^0+1*2^1+0*2^2+0*2^3+1*2^4+1*2^5=51 这也可以算是一个公式就是An*2^(n-1) An表示二进制数最右边开始的第n个数, 将第一项第二项第三项一直到第n项用式子An*2^(n-1) 计算出来并加在一起即可 php面试问题及答案二 1.有如下数据库, 用原生态mysql扩展去连接并查询user表的前十行 host: 192.168.0.254 port: 3306 user: one pass: piece database: db_user
1、用PHP打印出前一天的时间格式是2006-5-10 22:21:21(2分) $a = date("Y-m-d H:i:s", strtotime("-1 day")); print_r($a); 2、echo(),print(),print_r()的区别(3分) echo 和print不是一个函数,是一个语言结构 int print(string $arg), 只有一个参数 echo arg1,arg2; 可以输出多个参数,返回void echo和print只能打印出string,不能打印出结构 print_r能打印出结构 比如 $arr = array("key"=>"value"); print_r($arr); 3、能够使HTML和PHP分离开使用的模板(1分) smarty,phplib 4、使用哪些工具进行版本控制?(1分) svn,git,cvs 5、如何实现字符串翻转?(3分) 英文: strrev($a) 中文或其他文字: 中文:GB2312,代码是使用GB2312编码
1. Which of the following will not add john to the users array? 1. $users[] = …john?; 2. array_add($users,?john?); 3. array_push($users,?john?); 4. $users ||= …john?; Answer: 2,4 2. What?s the difference between sort(), asort() and ksort(),rsort()? Under w hat circumstances would you use each of these? sort(): 本函数对数组的值进行排序。当本函数结束时数组单元将被从最低到最高重新安排,array 中的单元赋予新的键名。这将删除原有的键名而不仅是重新排序。 asort(): 这个函数将数组的值重新排序,由小至大排列。数组的索引亦跟着值的顺序而变动。当您在程序中需要重新整理数组值的顺序时,就可以使用这个函数。 ksort(): 对数组按照键名排序,保留键名到数据的关联。本函数主要用于关联数组。 rsort(): 本函数对数组进行逆向排序(最高到最低)。与sort()执行相反的操作。 3. What would the following code print to the browser? Why? $num = 10; function multiply(){ $num = $num * 10; } multiply(); echo $num; 10 4. What is the difference between a reference and a regular variable? How do you pass by reference & why would you want to? pass by reference like this functions(&$vars); it likes more fast; 5. What functions can you use to add library code to the currently running script? inlcude() or require(); 6. What is the difference between foo() & @foo()? if foo() throw a error, will be alert, but @foo() no; 7. How do you debug a PHP application? xdebug or use die() do it; 8. What does === do? What?s an example of something that will give true for …==?, but not …===?? === 用于精确比较ex: (” == null)=> true but ( ”===null) =>false; 9. How would you declare a class named “myclass” with no methods or properties? class myclass{ } 10. How would you create an object, which is an instance of “myclass”? $myoject = new myclass(); 11. How do you access and set properties of a class from within the class? getVar() or setVar() ; 12. What is the difference between include & include_once? include & require?
1.在PHP中,当前脚本的名称(不包括路径和查询字符串)记录在预定义变量(1)中;而链接到当前页面的的前一页面URL记录在预定义变量(2)中 "; //链接到当前页面的前一页面的 URL 地址: echo $_SERVER['HTTP_REFERER']."
"; //其它的见参考手册:语言参考》变量》预定义变量 //前执行脚本的绝对路径名:D:Inetpubwwwrootphp est.php echo $_SERVER["SCRIPT_FILENAME"]."
"; //正在浏览当前页面用户的 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"]."
"; ?> 2.执行程序段将输出__。 "; //取模 $a % $b 在 $a 为负值时的结果也是负值。输出-2 echo ((-8)%3)."
"; //输出2 echo (8%(-3))."
";
20个最常见的PHP面试问题 如果您想成为一名全职程序员,那么现在就是您的绝好机会–随着编程和脚本语言的日渐流行,各种世界知名的公司都在寻找编程和设计专家。这些公司通常准备提供高薪水和良好的工作条件,因此也就不足为奇了,很多人都在试图找到这份工作!由于PHP是更流行的脚本语言之一,因此它是更好的选择之一。但是,如果您想担任PHP专家,就必须做好准备–这就是为什么在本教程中,我们将讨论一些最流行的PHP面试问题。 在介绍了PHP面试问题和答案之后,我们将在面试之前讨论如何利用PHP练习。然后,我将为您提供一些一般性的提示和建议,以帮助您最大程度地获得工作机会。 PHP面试问题–简介 我们将从一些更基本的PHP面试问题开始,以便您可以体会面试开始的样子。之后,我们将过渡到一些更高级的PHP问题。总而言之,在本教程的最后,您应该对面试的方式有更好的了解。 问题1:什么是PHP? 在工作面试中可能会问到的第一个问题可能是“什么是PHP?”或“PHP代表什么?”。这里有些建议是你应该尝试用简单的答案,你可以回答-有没有必要脱落花式或无所不知的一切。您的潜在雇主可能会赞赏您可以用自己的语言解释一些困难的话题。 那么,PHP代表什么呢?嗯,首字母缩略词本身是从“个人主页”派生的-但是,更科学的答案可能是“超文本预处理器”。 PHP是一种开源脚本语言。不用说,它是世界上最受欢迎的脚本语言之一-如果不是这种情况,您就不会读本教程。 PHP最常用于Web开发。该语言之所以受到人们的喜爱和赞赏是因为它可以轻松地嵌入到HTML中。 问题2:什么是PHP“ PEAR”? PHP PEAR是PHP语言本身的扩展。首字母缩写词代表“ PHP扩展和应用程序存储库”。 PEAR通常由经验丰富的程序员使用-除了标准的PHP版本,它还提供更多的选项和功能。 问题3:PHP的用途是什么? PHP有很多常见用途。仅举几个: 它可以创建,写入,关闭系统文件。 它可以加密数据或阻止人们访问您网站的某些部分。 它常与Cookie配合使用-您可以根据需要进行修改和设置。 问题4:有多少受支持的PHP版本? 当前,有四个版本的PHP – PHP 5.6 ; PHP 7 ; PHP 7.1和PHP 7.2。