php函数的应用题目,PHP 基础题库

整理了一些PHP基础题库。

问题1: 写出如下程序的输出结果:

$test = 'aaaaa';

$abc = &$test;

unset($test);

echo $abc; //aaaaa

//知识点:引用传值

问题2: 说明 PHP 中传值和传引用的区别,说明什么时候传值,说明什么时候用引用

传 值:将变量的值拷贝一份赋值给另一个变量,改变任何一个变量的值都不会影响另一个。

传引用:将变量的值的内存地址传给另一个变量,新变量简单的引用了原始变量,两个变量指向同一个值,

改动会相互影响。

对于较大的数据,传引用比较好,可以节省内存的开销。

问题3: 写出如下程序的输出结果:

$count = 5;

function get_count(){

static $count = 0;

return $count++;

}

echo $count; //5

++$count;

echo get_count(); //0

echo get_count(); //1

?>

问题4: PHP 在服务端进行页面重定向所使用的函数名称

header("Localtion:http://www.baidu.com");

header("HTTP/1.0 404 Not Found");

header('Content-type:application/pdf');

header('Content-type:text/html;charset=urf-8');

问题5: 什么事面向对象?主要特征是什么?

面向对象是程序的一种设计方式,它利于提高程序

的重用性,使程序结构更加清晰。主要特征:封装、继承、多态

问题 6: SESSION 与 COOKIE 的区别是什么,请从协议,产生的原因与作用说明?

1、http 无状态协议,不能区分用户是否是从同一个网站上来的,同一个用户请求不同的页面不能看做是同

一个用户。

2、SESSION 存储在服务器端,COOKIE 保存在客户端。Session 比较安全,cookie 用某些手段可以修

改,不安全。Session 依赖于 cookie 进行传递。

禁用 cookie 后,session 不能正常使用。

Session 的缺点:保存在服务器端,每次读取都从服务器进行读取,

对服务器有资源消耗。Session 保存在服务器端的文件或数据库中,默认保存在文件中,

文件路径由 php 配置文件的 session.save_path 指定。Session 文件是公有的

问题 7: 简述 Cookie 的设置及获取过程

设置 COOKIE 的值:

Setcookie(名称,值,保存时间,有效域);

获取值:$_COOKIE['名称'];

问题 8: HTTP 状态中 302 、403、 500 ,200 ,404 、502 代码含义?

一二三四五原则: 一. 消息系列 二. 成功系列

三. 重定向系列 四. 请求错误系列 五. 服务器端错误系列

302:临时转移成功,请求的内容已转移到新位置

403:禁止访问 500:服务器内部错误 401 代表未授权。

北京市昌平区建材城西路金燕龙办公楼一层 电话:400-618-9090

200 是请求成功,404 是文件未找到,502 是服务器内部错误

问题 9: 请写出数据类型 (int char varchar datetime text) 的意思;请问 varchar和char有什么区别?

Int 整数 char 定长字符 Varchar 变长字符

Datetime 日期时间型 Text 文本型 Varchar 与 char 的区别 char 是固定长度的字符类型,分配多少空

间,就占用多长空间。

Varchar 是可变长度的字符类型,内容有多大就占用多大的空间,能有效节省空间。

Varchar 是变长,节省存储空间,char 是固定长度。

查找效率要 char 型快,因为 varchar 是非定长,必须先查找长度,

然后进行数据的提取,比 char 定长类型多了一个步骤,所以效率低一些

问题 10: 写出下列几个预定义全局变量的作用?

$_SERVER['DOCUMENT_ROOT'] //当前运行脚本所在的文档根目录

$_SERVER['HTTP_HOST ']//当前请求的 Host: 头部的内容

$_SERVER['REMOTE_ADDR']//正在浏览当前页面用户的 IP 地址

$_SERVER['HTTP_REFERER'] //链接到当前页面的前一页面的 URL 地址

$_SERVER['SERVER_NAME'] //当前运行脚本所在服务器主机的名称

$_FILES//包含有所有上传的文件信息

S_FILES['userfile']['name']//客户端机器文件的原名称

$_FILES['userfile']['type']//文件 MIME 类型,如果浏览器提供此信息的话,如“image/gif”。

北京市昌平区建材城西路金燕龙办公楼一层 电话:400-618-9090

$_FILES['userfile']['size']//已上传文件的大小,单位为字节

$_FILES['userfile']['tmp_name'] //文件被上传后在服务端储存的临时文件名 $_FILES['userfile']['error']

//和该文件上传相关的错误代码

问题 11: include 和 require 都能把另外一个文件包含到当前文件中,他们有什么区别?Include 和 include_once 又有什么区别?

二者区别只有一个,那就是对包含文件的需求程度,include 就是包含,如果被包含的文件不存在的话,那

么则会提示一个错误,但是程序会继续执行下去。

而 require 意思是需要,如果被包含文件不存在或者无法打开的时候,则会提示错误,并且会终止程序的

执行。

这两种结构除了在 如何处理失 败之外完全一 样。 once 的意思 是一次,那么 include_once 和

require_once 表示只包含一次,避免重复包含。

问题 12: 请说明 php 中传值与传引用的区别。什么时候传值什么时候传引用?

变量默认总是传值赋值。那也就是说,当将一个表达式的值赋予一个变量时,整个原始表达式的值被赋值到

目标变量。这意味着,例如,当一个变量的值赋予另外一个变量时,改变其中一个变量的值,将不会影响到另外

一个变量。

PHP 也提供了另外一种方式给变量赋值:引用赋值。这意味着新的变量简单的引用(换言之,“成为其

别名”或者“指向”)了原始变量。改动新的变量将影响到原始变量,反之亦然。使用引用赋值,简单地将一

个 & 符号加到将要赋值的变量前(源变量)。

对象默认是传引用。对于较大的数据,传引用比较好,这样可以节省内存的开销。

问题 13: PHP 中的注释的写法,要列出三种?

// 注释内容 C 风格的单行注释

# 注释内容 unix 风格的单行注释

/* 注释内容 */ C 风格的多行注释

问题 14: PHP 的意思,它能干些什么?

PHP( Hypertext Preprocessor,超文本预处理器的字母缩写)是一种被广泛应用的开放源代码的多用途

脚本语言,它可嵌入到 HTML 中,尤其适合 web 开发。

PHP 能做任何事。PHP 主要是用于服务端的脚本程序,因此可以用 PHP 来完成任何其它的 CGI 程序

能够完成的工作,例如收集表单数据,生成动态网页,或者发送/接收 Cookies。但 PHP 的功能远不局限

于此。

PHP 脚本主要用于以下三个领域:

1) 服务端脚本。这是 PHP 最传统,也是最主要的目标领域。

2) 命令行脚本。可以编写一段 PHP 脚本,并且不需要任何服务器或者浏览器来运行它。

通过这种方式,仅仅只需要 PHP 解析器来执行。

3) 编写桌面应用程序。

问题 15: 用 PHP 写出显示客户端 IP 与服务器 IP 的代码。

客户端 IP:$_SERVER["REMOTE_ADDR"]

服务器端 IP:$_SERVER["SERVER_ADDR"]

问题 16: 简述如何得到当前执行脚本路径,包括所得到参数 。

获取当前执行脚本路径使用$_SERVER["SCRIPT_FILENAME"] 或 __FILE__ 获取参数,

使用$_SERVER["QUERY_STRING"]

问题 17: 表单中 get 与 post 提交方法的区别?

1. get 是把参数数据队列加到提交表单的 ACTION 属性所指的 URL 中,值和表单内各个字段一一对应,

在 URL 中可以看到。post 是通过 HTTP post 机制,将表单内各个字段与其内容放置在 HTML HEADER

内一起传送到 ACTION 属性所指的 URL 地址。用户看不到这个过程。

2. 对 于 get 方 式 , 服 务 器 端 用 Request.QueryString 获取变量的值,对于 post 方式,

服务器端用 Request.Form 获取提交的数据。

3. get 传送的数据量较小,不能大于 2KB。post 传送的数据量较大,一般被默认为不受限制。

但理论上,IIS4 中最大量为 80KB,IIS5 中为 100KB。get 安全性非常低,post 安全性较高。

问题 18: echo(),print(),print_r() 的区别?

echo 是 PHP 语句, print 和 print_r 是函数,语句没有返回值,函数可以有返回值(即便没有用)

Print()只能打印出简单类型变量的值(如 int,string)

print_r()可以打印出复杂类型变量的值(如数组,对象)

echo 输出一个或者多个字符串

问题 19: 面向对象中接口和抽象类的区别及应用场景?

1、有抽象方法的类叫做抽象类,抽象类中不一定有抽象方法,抽象方法必须使用 abstract 关键字定义。

2、接口中全部是抽象方法,方法不用使用 abstract 定义。

3、当多个同类的类要设计一个上层,通常设计为抽象类,当多个异构的类要设计一个上层,通常设计为接

口。

问题 20: 描述一下 HTTP 与 HTTPS 的区别?

https 协议需要到 ca 申请证书,一般免费证书很少,需要交费。

http 是超文本传输协议,信息是明文传输,https 则是具有安全性的 ssl加密传输协议

http 和 https 使用的是完全不同的连接方式用的端口也不一样,前者是 80,后者是 443。

http 的连接很简单,是无状态的

HTTPS 协议是由 SSL+HTTP 协议构建的可进行加密传输、身份认证的网络协议 要比 http 协议安全

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值