珍藏BAT php编程面试100题汇总(四)

2022-10-11 21:10:08 176 0
魁首哥

接着上篇文章继续,欢迎大家关注学习(PHP之父镇楼)

61.PHP工作原理

一个网站运行时客户端有无数个,服务器通常只有一个(负载均衡)开发环境的安装2,PHP5.4,MYSQL5.3——-开源,可以跨平台

配置文件:conf(Apache), php.ini my.ini

PHP文档组成:HTML,css,js,jquery,PHP

PHP语法风格:xml风格,短风格,ASP风格(已过时),脚本风格

注意:位置任意,同一页面可以出现多次,不能嵌套,里面只能出现php代码,需要转 字符串 输出

运行在服务器端

注释:单行注释,多行注释

62数据类型:

标量类型:integer,Float,String,boolean

复合类型:Array,Object

特殊类型:Resource,Null

伪类型:mixed,number,callback(回调函数)

63.PHP中被认为是false的值:

0, 0.0, null, 空数组, 空字符串, false

64.求两个日期的差数,例如2017-2-27 ~ 2018-05-6 的日期差数

65什么是 MVC

回答:MVC由Model(模型), View(视图)和 Controller (控制器)组成,PHP MVC可以更高效地管理好3个不同层的PHP代码。

Model:数据信息存取层。

View:view层负责将应用的数据以特定的方式展现在界面上。

Controller:通常控制器负责从视图读取数据,控制用户输入,并向模型发送数据。

66.PHP中获取图像尺寸大小的方法是什么?

回答:getimagesize () 获取图片的尺寸

Imagesx () 获取图片的宽度

Imagesy () 获取图片的高度

67.如何在PHP中定义常量?

回答:PHP中使用Define () 来定义常量。

define (“Newconstant”, 30);

68.如何不使用submit按钮来提交表单?

如果我们不想用submit按钮来提交表单,我们也可以用超链接来提交,我们可以这样写代码:

69.简述论坛中无限分类的实现原理。

答:无限极分类,那么应该是考察递归函数吧!

第一步:建立测试数据库:

第二步:插入测试数据:

第三步:递归输出分类:

70.试述isset()和empty()的区别

isset() 测试变量是否存在 empty() 测试变量是否为空

71.请用尽可能少的语句实现对输入Email地址进行验证的功能

eregi(‘^[_a-z0-9]+(/.[_a-z0-9-]+)*@[a-z0-9]+(/.[a-z0-9-]+)*$’,$emailaddress)

72.使用PHP描述冒泡排序和快速排序 算法 ,对象可以是一个数组

73、使用PHP描述顺序查找和二分查找(也叫做折半查找)算法,顺序查找必须考虑效率,对象可以是一个有序数组

74.写一个二维数组排序算法函数,能够具有通用性,可以调用php内置函数

75. UTF-8 转换成gbk的函数是?

iconv(“gbk”,””UTF-8,”我们”); mb_convert_encoding($str, “GBK”, “UTF-8”)

76.Php中分割字符串成数组的函数和连接数组成字符串的函分别有哪些?

explode() split() ;implode() join()

77.说几个你知道的设计模式?

单例模式: 保证一个类仅有一个实例,并提供一个访问他的全局访问点例如框架中的数据库连接

简单工厂模式: 它具有创建对象的某些方法,可以使用工厂类创建对象,而不直接使用 new。例如初始化数据库的时候会用到,比如MySQL,MSSQL

策略模式: 针对一组算法,将每一个算法封装到具有共同接口的独立的类中,例如进入个人主页时,根据浏览者的不同,给予不同的显示与操作

注册模式: 提供了在程序中有条理的存放并管理一组全局对象 (object),例如ZF框架中的Zend_Registry::set

适配器模式 : 将不同接口适配成统一的API接口,例如数据操作有mysql、mysqli、 pdo 等,可利用适配器模式统一接口

观察者模式: 一个对象通过添加一个方法使本身变得可观察。当可观察的对象更改时,它会将消息发送到已注册的观察者。例如实现实现消息推送

装饰器模式: 不修改原类代码和继承的情况下动态扩展类的功能,例如框架的每个Controller文件会提供before和after方法

迭代器模式: 提供一个方法顺序访问一个聚合对象中各个元素,在PHP中将继承 Iterator

原型模式: 实现了一个原型接口,该接口用于创建当前对象的克隆。当直接创建对象的代价比较大时,则采用这种模式。例如,一个对象需要在一个高代价的数据库操作之后被创建。

78.echo,print(),print_r(), printf (),sprintf(),var_dump()有什么区别?

echo :是语句不是函数,没有返回值,可输出多个变量值,不需要圆括号。不能输出数组和对象,只能打印简单类型(如int,string)

print :是语句不是函数,有返回值 1 ,只能输出一个变量,不需要圆括号。不能输出数组和对象,只能打印简单类型(如int,string)。

print_r

:是函数,可以打印复合类型,例如:stirng、int、float、array、object等,输出array时会用结构表示,而且可以通过print_r($str,true)来使print_r不输出而返回print_r处理后的值

printf :是函数,把文字格式化以后输出(参看C语言)

sprintf :是函数,跟printf相似,但不打印,而是返回格式化后的文字,其他的与printf一样。

var_dump :函数,输出变量的内容、类型或字符串的内容、类型、长度。常用来调试。

79.echo count(“abc”); 输出什么?

答案:1

80.写个函数用来对二维数组排序。

答案:array_multisort() 。

对编程感兴趣,想了解更多的编程知识,关注头条号一起玩转编程

更多面试题持续更新中~

收藏
分享
海报
0 条评论
176
上一篇:完美解决PHP中文乱码问题 下一篇:PHP 如何把数组元素组合为字符串

本站已关闭游客评论,请登录或者注册后再评论吧~

忘记密码?

图形验证码