PHP口试题一[转]
添加时间:2013-6-18 点击量:
1.用PHP打印前一天的时候,格局如2012-4-12 10:11:22
echo date(Y-n-d H:i:s,strtotime(-1 day));
format字符[a:am,pm小写,A:AM,PM大写 g小时,12时制 n月份 前无0]
strtotime()用法如下
<?php
echo strtotime (now), \n;
echo strtotime (10 September 2000), \n;
echo strtotime (+1 day), \n;
echo strtotime (+1 week), \n;
echo strtotime (+1 week 2 days 4 hours 2 seconds), \n;
echo strtotime (next Thursday), \n;
echo strtotime (last Monday), \n;
?>
2.echo() print() print_f()差别
echo()是一个php语句,所以没有返回值,能打印简单的数据。
print()是一个函数,有返回值,能打印简单的数据。
print_r()是一个函数,能打印错杂的(mix)数据。
3.常见的PHP模板引擎
Smarty EasyTemplatePHP
4.哪些对象可以进行版本把握
SVN CVS
5.实现字符翻转的函数
strrev(¥str);
6.优化Mysql数据库的常用办法
(1).数据库设计方面,这是DBA和Architect的义务,设计布局杰出的数据库,须要的时辰,去正规化(英文是这个:denormalize,中文翻译成啥我不知道),容许项目组数据冗余,避免JOIN操纵,以进步查询效力
(2).体系架构设计方面,表散列,把海量数据散列到几个不合的表里面.快慢表,快表只留新数据,慢表是汗青存档.集群,主办事器Read & write,从办事器read only,或者N台办事器,各机械互为Master
(3).(1)和(2)超出PHP Programmer的请求了,会更好,不会没紧要.搜检有没有少加索引
(4).写高效的SQL语句,看看有没有写低效的SQL语句,比如生成笛卡尔积的全连接啊,多量的Group By和order by,没有limit等等.须要的时辰,把数据库逻辑封装到DBMS端的存储过程里面.缓存查询成果,explain每一个sql语句
(5).所得皆必须,只从数据库取必须的数据,比如查询某篇文章的评论数, count() ... where article_id = ? 就可以了,不要先 ... where article_id = ?然后msql_num_rows.
只传送必须的SQL语句,比如批改文章的时辰,若是用户只批改了题目,那就 ... set title = ? where article_id = ?不要set content = ?(大文本)
(6).须要的时辰用不合的存储引擎.比如InnoDB可以削减死锁.HEAP可以进步一个数量级的查询速度
7.用PHP获取客户端IP及办事器IP
客户端:¥_SERVER[‘REMOTE_ADDR’]或getenv(‘REMOTE_ADDR’);
办事器:gethostbyname(“baidu.com”);
8.批改session的生活生计时候
<?php
session_start();
// 保存一天
¥lifeTime = 24 3600;
setcookie(session_name(), session_id(), time() + ¥lifeTime, /);
?>
9.写出发贴数最多的十小我名字的sql,哄骗下表:members(id,username,posts,pass,email)
SELECT username
FROM members
GROUP BY id
ORDER BY count(posts) DESC
LIMIT 0 , 10
10.简述如何获得当前履行脚本路径,包含所获得参数。
echo ¥_SERVER[SCRIPT_FILENAME].?.¥_SERVER[QUERY_STRING];
11.mysql_fetch_row() 和mysql_fetch_array之间有什么差别?
mysql_fetch_row() 从和指定的成果标识接洽关系的成果集中取得一行数据并作为数组返回。每个成果的列储存在一个数组的单位中,偏移量从 0 开端。mysql_fetch_array() 是 mysql_fetch_row() 的扩大版本。除了将数据以数字索引体式格式储存在数组中之外,还可以将数据作为接洽关系索引储存,用字段名作为键名。
12.断定以下输出
¥str1 = null;
¥str2 = false;
echo ¥str1==¥str2 ? 相等 : 不相等; //相等
¥str3 = ;
¥str4 = 0;
echo ¥str3==¥str4 ? 相等 : 不相等; //相等
¥str5 = 0;
¥str6 = 0;
echo ¥str5===¥str6 ? 相等 : 不相等; //不相等
13.写出以下成果
<?php
¥test = aaaaaa;
¥abc = & ¥test;
unset(¥test);
echo ¥abc; //aaaaaa
?>
当你 unset 一个引用,只是断开了变量名和变量内容之间的绑定。这并不料味着变量内容被烧毁了。
-----------未完待续-------------
我俩之间有着强烈的吸引力。短短几个小时后,我俩已经明白:我们的心是一个整体的两半,我俩的心灵是孪生兄妹,是知己。她让我感到更有活力,更完美,更幸福。即使她不在我身边,我依然还是感到幸福,因为她总是以这样或者那样的方式出现在我心头。——恩里克·巴里奥斯《爱的文明》
1.用PHP打印前一天的时候,格局如2012-4-12 10:11:22
echo date(Y-n-d H:i:s,strtotime(-1 day));
format字符[a:am,pm小写,A:AM,PM大写 g小时,12时制 n月份 前无0]
strtotime()用法如下
<?php
echo strtotime (now), \n;
echo strtotime (10 September 2000), \n;
echo strtotime (+1 day), \n;
echo strtotime (+1 week), \n;
echo strtotime (+1 week 2 days 4 hours 2 seconds), \n;
echo strtotime (next Thursday), \n;
echo strtotime (last Monday), \n;
?>
2.echo() print() print_f()差别
echo()是一个php语句,所以没有返回值,能打印简单的数据。
print()是一个函数,有返回值,能打印简单的数据。
print_r()是一个函数,能打印错杂的(mix)数据。
3.常见的PHP模板引擎
Smarty EasyTemplatePHP
4.哪些对象可以进行版本把握
SVN CVS
5.实现字符翻转的函数
strrev(¥str);
6.优化Mysql数据库的常用办法
(1).数据库设计方面,这是DBA和Architect的义务,设计布局杰出的数据库,须要的时辰,去正规化(英文是这个:denormalize,中文翻译成啥我不知道),容许项目组数据冗余,避免JOIN操纵,以进步查询效力
(2).体系架构设计方面,表散列,把海量数据散列到几个不合的表里面.快慢表,快表只留新数据,慢表是汗青存档.集群,主办事器Read & write,从办事器read only,或者N台办事器,各机械互为Master
(3).(1)和(2)超出PHP Programmer的请求了,会更好,不会没紧要.搜检有没有少加索引
(4).写高效的SQL语句,看看有没有写低效的SQL语句,比如生成笛卡尔积的全连接啊,多量的Group By和order by,没有limit等等.须要的时辰,把数据库逻辑封装到DBMS端的存储过程里面.缓存查询成果,explain每一个sql语句
(5).所得皆必须,只从数据库取必须的数据,比如查询某篇文章的评论数, count() ... where article_id = ? 就可以了,不要先 ... where article_id = ?然后msql_num_rows.
只传送必须的SQL语句,比如批改文章的时辰,若是用户只批改了题目,那就 ... set title = ? where article_id = ?不要set content = ?(大文本)
(6).须要的时辰用不合的存储引擎.比如InnoDB可以削减死锁.HEAP可以进步一个数量级的查询速度
7.用PHP获取客户端IP及办事器IP
客户端:¥_SERVER[‘REMOTE_ADDR’]或getenv(‘REMOTE_ADDR’);
办事器:gethostbyname(“baidu.com”);
8.批改session的生活生计时候
<?php
session_start();
// 保存一天
¥lifeTime = 24 3600;
setcookie(session_name(), session_id(), time() + ¥lifeTime, /);
?>
SELECT username
FROM members
GROUP BY id
ORDER BY count(posts) DESC
LIMIT 0 , 10
10.简述如何获得当前履行脚本路径,包含所获得参数。
echo ¥_SERVER[SCRIPT_FILENAME].?.¥_SERVER[QUERY_STRING];
11.mysql_fetch_row() 和mysql_fetch_array之间有什么差别?
mysql_fetch_row() 从和指定的成果标识接洽关系的成果集中取得一行数据并作为数组返回。每个成果的列储存在一个数组的单位中,偏移量从 0 开端。mysql_fetch_array() 是 mysql_fetch_row() 的扩大版本。除了将数据以数字索引体式格式储存在数组中之外,还可以将数据作为接洽关系索引储存,用字段名作为键名。
12.断定以下输出
¥str1 = null;
¥str2 = false;
echo ¥str1==¥str2 ? 相等 : 不相等; //相等
¥str3 = ;
¥str4 = 0;
echo ¥str3==¥str4 ? 相等 : 不相等; //相等
¥str5 = 0;
¥str6 = 0;
echo ¥str5===¥str6 ? 相等 : 不相等; //不相等
13.写出以下成果
<?php
¥test = aaaaaa;
¥abc = & ¥test;
unset(¥test);
echo ¥abc; //aaaaaa
?>
-----------未完待续-------------