热门标签 | 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 保持关联数组的下标


推荐阅读
  • Django与Python及其他Web框架的对比
    本文详细介绍了Django与其他Python Web框架(如Flask和Tornado)的区别,并探讨了Django的基本使用方法及与其他语言(如PHP)的比较。 ... [详细]
  • PHP中Smarty模板引擎自定义函数详解
    本文详细介绍了如何在PHP的Smarty模板引擎中自定义函数,并通过具体示例演示了这些函数的使用方法和应用场景。适合PHP后端开发者学习。 ... [详细]
  • Windows环境下Oracle数据库迁移实践
    本文详细记录了一次在Windows操作系统下将Oracle数据库的控制文件、数据文件及在线日志文件迁移至外部存储的过程,旨在为后续的集群环境部署做好准备。 ... [详细]
  • H5技术实现经典游戏《贪吃蛇》
    本文将分享一个使用HTML5技术实现的经典小游戏——《贪吃蛇》。通过H5技术,我们将探讨如何构建这款游戏的两种主要玩法:积分闯关和无尽模式。 ... [详细]
  • ABP框架是ASP.NET Boilerplate的简称,它不仅是一个开源且文档丰富的应用程序框架,还提供了一套基于领域驱动设计(DDD)的最佳实践架构模型。本文将详细介绍ABP框架的特点、项目结构及其在Web API优先架构中的应用。 ... [详细]
  • 本文详细介绍了PHP中的几种超全局变量,包括$GLOBAL、$_SERVER、$_POST、$_GET等,并探讨了AJAX的工作原理及其优缺点。通过具体示例,帮助读者更好地理解和应用这些技术。 ... [详细]
  • 本文详细介绍了如何使用Linux下的mysqlshow命令来查询MySQL数据库的相关信息,包括数据库、表以及字段的详情。通过本文的学习,读者可以掌握mysqlshow命令的基本语法及其常用选项。 ... [详细]
  • PHP 图形函数中实现汉字显示的方法
    本文详细介绍了如何在 PHP 的图形函数中正确显示汉字,包括具体的步骤和注意事项,适合初学者和有一定基础的开发者阅读。 ... [详细]
  • 本文由公众号【数智物语】(ID: decision_engine)发布,关注获取更多干货。文章探讨了从数据收集到清洗、建模及可视化的全过程,介绍了41款实用工具,旨在帮助数据科学家和分析师提升工作效率。 ... [详细]
  • 本文探讨了如何使用Scrapy框架构建高效的数据采集系统,以及如何通过异步处理技术提升数据存储的效率。同时,文章还介绍了针对不同网站采用的不同采集策略。 ... [详细]
  • 本文详细介绍了MySQL InnoDB存储引擎中的Redo Log和Undo Log,探讨了它们的工作原理、存储方式及其在事务处理中的关键作用。 ... [详细]
  • MVC模式下的电子取证技术初探
    本文探讨了在MVC(模型-视图-控制器)架构下进行电子取证的技术方法,通过实际案例分析,提供了详细的取证步骤和技术要点。 ... [详细]
  • 解决ADODB连接Access时出现80004005错误的方法
    本文详细介绍了如何解决在使用ADODB连接Access数据库时遇到的80004005错误,包括错误原因分析和具体的解决步骤。 ... [详细]
  • HTML前端开发:UINavigationController与页面间数据传递详解
    本文详细介绍了如何在HTML前端开发中利用UINavigationController进行页面管理和数据传递,适合初学者和有一定基础的开发者学习。 ... [详细]
  • 本文探讨了MySQL中的死锁现象及其监控方法,并介绍了如何通过配置和SQL语句调整来优化数据库性能。同时,还讲解了慢查询日志的配置与分析技巧。 ... [详细]
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社区 版权所有