热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

php笔试(1)20道基础题,带答案

break可以终止循环,continue没有break强大,只能终止本次循环而进入到下一次循环中
一、基础知识:

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

echo $a{0} 或 echo substr($a,0,1)

2、$a="hello";$b=&$a;unset($b);$b="world";echo $a;//Hello

3、break和continue的区别?

break可以终止循环,continue没有break强大,只能终止本次循环而进入到下一次循环中。

4、COOKIE、SESSION的联系和区别,多台web服务器如何共享 SESSION?

使用session_start()调用session,服务器端在生成session文件的同时,生成session ID哈希值和默认值为PHPSESSID的session name,并向客户端发送变量为(默认的是) PHPSESSID(session name) ,值为一个128位的哈希值。服务器端将通过该COOKIE与客户端进行交互。 

session变量的值经PHP内部系列化后保存在服务器机器上的文本文件中,和客户端的变量名默认情况下为PHPSESSID的COOKIE进行对应交互,即服务器自动发送了HTTP头:header('Set-COOKIE:session_name()=session_id();path=/');即setCOOKIE(session_name(),session_id());当从该页跳转到的新页面并调用 session_start() 后,PHP将检查与给定ID相关联的服务器端存贮的session数据,如果没找到,则新建一个数据集。

5、COOKIE有什么用?怎么使用?

1、记录用户访问的部分信息 

2、 在页面间传递变量 

3、 将所查看的internet页存储在COOKIEs临时文件夹中,可以提高以后的浏览速度。

  创建COOKIE: setCOOKIE(string COOKIEname,string value,int expire);

读取COOKIE: 通过超级全局数组$_COOKIE来读取浏览器端的COOKIE的值;

删除COOKIE:有两种方法 

1、手工删除方法: 右击浏览器属性,可以看到删除COOKIEs,执行操作即可将所有COOKIE文件删除;

2、setCOOKIE() 方法: 跟设置COOKIE的方法一样,不过此时讲COOKIE的值设置为空,有效时间为0或小于当前时间戳。

6、echo(),print(),print_r()的区别?

echo是PHP语句;而print和print_r是函数,语句没有返回值,函数可以有返回值(即便没有用),echo 输出一个或者多个字符串,print() 只能打印出简单类型变量的值(如int string)  print_r() 可以打印出复杂类型变量的值(如数组,对象)。

7、Empty()函数中哪些变量的值会被认为是空值?

""、0、"0"、NULL、FALSE、array()、var $var;以及没有任何属性的对象都将被认为是空值。

8、foreach 用法

foreach($数组名 as $key=>$value) { 

循环体 ;

}

9、HTTP协议中的 $_POST和 $_GET有何区别?

$_GET是通过地址栏传值,而 $_POST是通过HTTP请求主体发送;$_GET传值的大小受限,2K左右,而 $_POST理论上没有限制。$_GET传值不能上传文件类型,$_POST可以。

10、include() 和 include_once() 有什么分别?require() 又如何?

1:include()/require()与include_once()/require_once()区别在于:前者可以包含多次,而后者是先检验有没有已经包含,如果已经包含,则不再次包含。如果网站框架的设计能避免重复引用的话,推荐用include()/require(), 因为他们比include_once/ require_once() 速度稍快。  (Include 会报警告 require 会报致命错误)

2:include_once() 和 require_once() 的区别前者要引用的文件找不到,会报警告,后者则会报fatal error致命错误。

11、mysql_fetch_row() 和 mysql_fetch_array() 有什么分别?

mysql_fetch_row() 是取出mysql资源的索引数组 mysql_fetch_assoc() 取出关联数组(以表的字段为键) mysql_fetch_array() 是取出关联数组(是前两个函数内容的合并)

#e#php教程-php笔试20道基础题带答案#p#

12、OOP具有三大特点

1、封装性:也称为信息隐藏,就是将一个类的使用和实现分开,只保留部分接口和方法与外部联系,或者说只公开了一些供开发人员使用的方法。于是开发人员只需要关注这个类如何使用,而不用去关心其具体的实现过程,这样就能实现MVC分工合作,也能有效避免程序间相互依赖, 实现代码模块间松藕合。

 2、继承性:就是子类自动继承其父级类中的属性和方法,并可以添加新的属性和方法或者对部分属性和方法进行重写。继承增加了代码的可重用性。PHP只支持单继承,也就是说一个子类只能有一个父类。

3、多态性:子类继承了来自父级类中的属性和方法,并对其中部分方法进行重写。于是多个子类中虽然都具有同一个方法,但是这些子类实例化的对象调用这些相同的方法后却可以获得完全不同的结果,这种技术就是多态性。多态性增强了软件的灵活性。

13、JS中网页前进和后退的代码

   

       

   

14、PHP中的注释的写法,要列出三种?

PHP支持3种风格的注释 1:C风格的注释 // 这是C风格的单行注释; /* 这是C风格的多行注释。*/  2:shell风格的注释 # 这是shell风格的单行注释。

15、PHP怎么定义函数?

使用关键字function加函数名,参数和函数体来定义函数。格式为: function 函数名(参数){函数体};

16、PHP有几组函数来处理正则表达式?

preg系列函数可以处理,具体有以下几个:

 string preg_quote ( string str [, string delimiter] ) 转义正则表达式字符,正则表达式的特殊字符包括:. \\ + * ? [ ^ ] $ ( ) { } = ! < > |:

preg_replace 执行正则表达式的搜索和替换 mixed preg_replace ( mixed pattern, mixed replacement, mixed subject [, int limit] ) 

preg_replace_callback用回调函数执行正则表达式的搜索和替换 mixed preg_replace_callback ( mixed pattern, callback callback, mixed subject [, int limit] ) preg_split用正则表达式分割字符串array preg_split ( string $pattern , string $subject [, int $limit = -1 [, int $flags = 0 ]] )。

17、PHP访问数据库有哪几步?

1、连接数据库服务器: mysql_connect('数据库服务器的主机名或ip','数据库服务器的用户名','数据库服务器的密码');

2、选择数据库: mysql_select_db(数据库名);

3、设置从数据库提取数据的字符集:mysql_query("set names utf8");

4、执行sql语句:mysql_query(sql语句);

5、关闭结果集,释放资源:mysql_free_result($result);

6、关闭与数据库服务器的连接:mysql_close($link);

18、reference(引用)跟一个正规的变量有什么分别?如何 pass by reference?在什么情况下我们需要这样做?

Reference 传送的是变量的地址而非它的值,所以在函式中改变一个变量的值时,整个应用都见到这个变量的新值。 一个正规变量传送给函式的是它的值,当函式改变这个变量的值时,只有这个函式才见到新值,应用的其他部分仍然见到旧值。 $myVariable = "its' value";Myfunction(&$myVariable);以 reference 传送参数以 reference 传送参数给函式,可以使函式改变了的变量,即使在函式结束后仍然保留新值。

19、SESSION有什么用?怎么使用?

SESSION在WEB开发中具有非常重要的份量。它可以将用户正确登录后的信息记录到服务器的内存中,当用户以此身份 访问网站的管理后台时,无需再次登录即可得到身份确认。而没有正确登录的用户则不分配SESSION空间,即便输入了 管理后台的访问地址也不能看到页面内容。通过SESSION确定了用户对页面的操作权限。

使用SESSION的步骤:

1、启动SESSION:使用session_start()函数来启动。 

2、注册会话:直接给$_SESSION数组添加元素即可。

3、使用会话:判断session是否为空或者是否已经注册,如果已经存在则像普通数组使用即可。 

4、删除会话:

(1)可以使用unset删除单个session;

(2)使用 $_SESSION=array() 的方式,一次注销所有的会话变量;

(3)使用session_destroy() 函数来彻底销毁session 。

以上的方法都不会彻底删除session,为什么?

20、sort()、assort()、和 ksort() 有什么分别?它们分别在什么情况下使用?

sort() 根据阵列中元素的值,以英文字母顺序排序,索引键会由 0 到 n-1 重新编号。主要是当阵列索引键的值无关疼痒时用来把阵列排序。assort()  PHP 没有 assort() 函式,所以可能是 asort() 的笔误。asort() 与 sort() 一样把阵列的元素按英文字母顺序来排列,不同的是所有索引键都获得保留,特别适合替联想阵列排序。ksort() 根据阵列中索引键的值,以英文字母顺序排序,特别适合用于希望把索引键排序的联想阵列。

Tip:r 倒序 k 按照建来排序 a 保持关联数组的下标


推荐阅读
  • PHP 编程疑难解析与知识点汇总
    本文详细解答了 PHP 编程中的常见问题,并提供了丰富的代码示例和解决方案,帮助开发者更好地理解和应用 PHP 知识。 ... [详细]
  • 1:有如下一段程序:packagea.b.c;publicclassTest{privatestaticinti0;publicintgetNext(){return ... [详细]
  • PHP 5.2.5 安装与配置指南
    本文详细介绍了 PHP 5.2.5 的安装和配置步骤,帮助开发者解决常见的环境配置问题,特别是上传图片时遇到的错误。通过本教程,您可以顺利搭建并优化 PHP 运行环境。 ... [详细]
  • 深入理解 SQL 视图、存储过程与事务
    本文详细介绍了SQL中的视图、存储过程和事务的概念及应用。视图为用户提供了一种灵活的数据查询方式,存储过程则封装了复杂的SQL逻辑,而事务确保了数据库操作的完整性和一致性。 ... [详细]
  • MySQL 数据库迁移指南:从本地到远程及磁盘间迁移
    本文详细介绍了如何在不同场景下进行 MySQL 数据库的迁移,包括从一个硬盘迁移到另一个硬盘、从一台计算机迁移到另一台计算机,以及解决迁移过程中可能遇到的问题。 ... [详细]
  • 本文详细介绍了 MySQL 中 LAST_INSERT_ID() 函数的使用方法及其工作原理,包括如何获取最后一个插入记录的自增 ID、多行插入时的行为以及在不同客户端环境下的表现。 ... [详细]
  • 本文探讨了如何在 PHP 的 Eloquent ORM 中实现数据表之间的关联查询,并通过具体示例详细解释了如何将关联数据嵌入到查询结果中。这不仅提高了数据查询的效率,还简化了代码逻辑。 ... [详细]
  • 本文详细介绍了如何通过多种编程语言(如PHP、JSP)实现网站与MySQL数据库的连接,包括创建数据库、表的基本操作,以及数据的读取和写入方法。 ... [详细]
  • 使用Vultr云服务器和Namesilo域名搭建个人网站
    本文详细介绍了如何通过Vultr云服务器和Namesilo域名搭建一个功能齐全的个人网站,包括购买、配置服务器以及绑定域名的具体步骤。文章还提供了详细的命令行操作指南,帮助读者顺利完成建站过程。 ... [详细]
  • MySQL缓存机制深度解析
    本文详细探讨了MySQL的缓存机制,包括主从复制、读写分离以及缓存同步策略等内容。通过理解这些概念和技术,读者可以更好地优化数据库性能。 ... [详细]
  • 网络运维工程师负责确保企业IT基础设施的稳定运行,保障业务连续性和数据安全。他们需要具备多种技能,包括搭建和维护网络环境、监控系统性能、处理突发事件等。本文将探讨网络运维工程师的职业前景及其平均薪酬水平。 ... [详细]
  • 根据最新发布的《互联网人才趋势报告》,尽管大量IT从业者已转向Python开发,但随着人工智能和大数据领域的迅猛发展,仍存在巨大的人才缺口。本文将详细介绍如何使用Python编写一个简单的爬虫程序,并提供完整的代码示例。 ... [详细]
  • 本文详细介绍了如何通过命令行启动MySQL服务,包括打开命令提示符窗口、进入MySQL的bin目录、输入正确的连接命令以及注意事项。文中还提供了更多相关命令的资源链接。 ... [详细]
  • 深入解析 Apache Shiro 安全框架架构
    本文详细介绍了 Apache Shiro,一个强大且灵活的开源安全框架。Shiro 专注于简化身份验证、授权、会话管理和加密等复杂的安全操作,使开发者能够更轻松地保护应用程序。其核心目标是提供易于使用和理解的API,同时确保高度的安全性和灵活性。 ... [详细]
  • 本文探讨了在 ASP.NET MVC 5 中实现松耦合组件的方法。通过分离关注点,应用程序的各个组件可以更加独立且易于维护和测试。文中详细介绍了依赖项注入(DI)及其在实现松耦合中的作用。 ... [详细]
author-avatar
lucky_笨鸟_660
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有