php面试题 (1)
补充:
/*
//数据库的权限管理
试写出一个多用户权限系统的数据库设计,要求使用角色分配权限,
用户和角色之间是多对多的管理
请写出主要的表和字段
多对多关系太过复杂 用2个多对一来实现
CREATE TABLE t_user(
id int primary key,
name varchar(20));
CREATE TABLE t_role(
id int primary key,
name varchar(20));
CREATE TABLE t_usersroles(
id int primary key,
userid int not null,
roleid int not null);
//两个用户 三个角色
INSERT INTO t_user VALUES(1,'tom');
INSERT INTO t_user VALUES(2,'jerry');
INSERT INTO t_role VALUES(1,'admin');
INSERT INTO t_role VALUES(2,'user');
INSERT INTO t_role VALUES(3,'systemAdmin');
/tom --->> admin systemadmin
INSERT INTO t_usersroles VALUES(1,1,1);
INSERT INTO t_usersroles VALUES(2,1,3);
INSERT INTO t_usersroles VALUES(3,2,2);
*/
//====================================================
/*
*1:单子模式 :实例化一个对象 在一个系统里 只会有一个对象
*项目中 业务类---就是单子模式. . .
*newsService.php 修改成单子模式
*
*设计模式:::----->>
*工厂模式
*抽象工厂模式
*模板模式
*装饰器模式
*门面模式
*适配器模式
*命令模式
*职责链模式
*
*2:session 存储
*多服务器存储session
*a: 把session 放在服务器中
*b: session 放在memcache中
*
*
//===============================================
静态网页或者图片 一直是 200
304 是自己设置的 节省带宽
//==============
A: asort() 函数对数组进行排序并保持索引关系。 (a-z)
主要用于对那些单元顺序很重要的结合数组进行排序。
可选的第二个参数包含了附加的排序标识。
语法
asort(array,sorttype)参数 描述
array 必需。输入的数组。
sorttype 可选。规定如何排列数组的值。可能的值:
SORT_REGULAR - 默认。以它们原来的类型进行处理(不改变类型)。
SORT_NUMERIC - 把值作为数字来处理
SORT_STRING - 把值作为字符串来处理
SORT_LOCALE_STRING - 把值作为字符串来处理,基于本地设置*。
B: sort() 函数按升序对给定数组的值排序。(a-z)
注释:本函数为数组中的单元赋予新的键名。原有的键名将被删除。! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! !
如果成功则返回 TRUE,否则返回 FALSE。
语法
sort(array,sorttype)参数 描述
array 必需。输入的数组。
sorttype 可选。规定如何排列数组的值。可能的值:
SORT_REGULAR - 默认。以它们原来的类型进行处理(不改变类型)。
SORT_NUMERIC - 把值作为数字来处理
SORT_STRING - 把值作为字符串来处理
SORT_LOCALE_STRING - 把值作为字符串来处理,基于本地设置*。
C: ksort() 函数按照键名对数组排序,为数组值保留原来的键。! ! ! ! ! ! ! ! ! ! ! ! ! ! !
可选的第二个参数包含附加的排序标志。
若成功,则返回 TRUE,否则返回 FALSE。
语法
ksort(array,sorttype)参数 描述
array 必需。规定要排序的数组。
sorttype 可选。规定如何排列数组的值。可能的值:
SORT_REGULAR - 默认。以它们原来的类型进行处理(不改变类型)。
SORT_NUMERIC - 把值作为数字来处理
SORT_STRING - 把值作为字符串来处理
SORT_LOCALE_STRING - 把值作为字符串来处理,基于本地设置*。
//php页面静态化