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


推荐阅读
  • 本文详细介绍了 MySQL 中 LAST_INSERT_ID() 函数的使用方法及其工作原理,包括如何获取最后一个插入记录的自增 ID、多行插入时的行为以及在不同客户端环境下的表现。 ... [详细]
  • MySQL索引详解与优化
    本文深入探讨了MySQL中的索引机制,包括索引的基本概念、优势与劣势、分类及其实现原理,并详细介绍了索引的使用场景和优化技巧。通过具体示例,帮助读者更好地理解和应用索引以提升数据库性能。 ... [详细]
  • 本文探讨了如何在 PHP 的 Eloquent ORM 中实现数据表之间的关联查询,并通过具体示例详细解释了如何将关联数据嵌入到查询结果中。这不仅提高了数据查询的效率,还简化了代码逻辑。 ... [详细]
  • 作者:守望者1028链接:https:www.nowcoder.comdiscuss55353来源:牛客网面试高频题:校招过程中参考过牛客诸位大佬的面经,但是具体哪一块是参考谁的我 ... [详细]
  • 通过Web界面管理Linux日志的解决方案
    本指南介绍了一种利用rsyslog、MariaDB和LogAnalyzer搭建集中式日志管理平台的方法,使用户可以通过Web界面查看和分析Linux系统的日志记录。此方案不仅适用于服务器环境,还提供了详细的步骤来确保系统的稳定性和安全性。 ... [详细]
  • 本文详细探讨了JDBC(Java数据库连接)的内部机制,重点分析其作为服务提供者接口(SPI)框架的应用。通过类图和代码示例,展示了JDBC如何注册驱动程序、建立数据库连接以及执行SQL查询的过程。 ... [详细]
  • 本文将深入探讨PHP编程语言的基本概念,并解释PHP概念股的含义。通过详细解析,帮助读者理解PHP在Web开发和股票市场中的重要性。 ... [详细]
  • 探讨如何真正掌握Java EE,包括所需技能、工具和实践经验。资深软件教学总监李刚分享了对毕业生简历中常见问题的看法,并提供了详尽的标准。 ... [详细]
  • Startup 类配置服务和应用的请求管道。Startup类ASP.NETCore应用使用 Startup 类,按照约定命名为 Startup。 Startup 类:可选择性地包括 ... [详细]
  • 本文探讨了2012年4月期间,淘宝在技术架构上的关键数据和发展历程。涵盖了从早期PHP到Java的转型,以及在分布式计算、存储和网络流量管理方面的创新。 ... [详细]
  • 本文详细介绍如何利用已搭建的LAMP(Linux、Apache、MySQL、PHP)环境,快速创建一个基于WordPress的内容管理系统(CMS)。WordPress是一款流行的开源博客平台,适用于个人或小型团队使用。 ... [详细]
  • 在成功安装和测试MySQL及Apache之后,接下来的步骤是安装PHP。为了确保安全性和配置的一致性,建议在安装PHP前先停止MySQL和Apache服务,并将MySQL集成到PHP中。 ... [详细]
  • 本文介绍 PHP 函数 mysql_field_len 的使用方法,该函数用于返回 MySQL 查询结果集中指定字段的长度。适用于 PHP 4 和 PHP 5 版本。 ... [详细]
  • 探讨如何从数据库中按分组获取最大N条记录的方法,并分享新年祝福。本文提供多种解决方案,适用于不同数据库系统,如MySQL、Oracle等。 ... [详细]
  • 在尝试用另一台电脑的MySQL文件替换本地D:\xampp\mysql目录后,MySQL服务无法启动。错误提示显示MySQL意外关闭,可能是由于端口冲突、依赖缺失、权限问题或崩溃等原因引起。 ... [详细]
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社区 版权所有