接着上篇文章继续,欢迎大家关注学习(PHP之父镇楼)
61.PHP工作原理
一个网站运行时客户端有无数个,服务器通常只有一个(负载均衡)开发环境的安装2,PHP5.4,MYSQL5.3-------开源,可以跨平台
配置文件:conf(Apache), php.ini my.ini
PHP文档组成:HTML,css,js,jquery,PHP
PHP语法风格:xml风格,短风格,ASP风格(已过时),脚本风格
<?php ?>注意:位置任意,同一页面可以出现多次,不能嵌套,里面只能出现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() 。
对编程感兴趣,想了解更多的编程知识,关注头条号一起玩转编程
更多面试题持续更新中~
本文仅代表作者个人观点,不代表SEO研究协会网官方发声,对观点有疑义请先联系作者本人进行修改,若内容非法请联系平台管理员。更多相关资讯,请到SEO研究协会网www.seoxiehui.cn学习互联网营销技术请到巨推学院www.jutuiedu.com。