14. instanceof的作用, 经常在什么设计模式中使用
单例模式,但是其他的模式也会用到
15. 1023用二进制表示, 并简述计算过程
10-2
1023%2=1
511%2 =1
255%2 =1
127%2 =1
63%2 =1
31%2 =1
15%2 =1
7%2 =1
3%2 =1
1%2 =1
0 =0
-------------------------------------------
1023
2^9=<N<2^10
511
k=9
10 9 8 7 6 5 4 3 2 1
1 1 1 1 1 1 1 1 1 1
----------------------
1023 1
1023-1/2=511 1
511-1/2=255 1
255-1/2=127 1
127-1/2=63 1
63-1/2=31 1
31-1/2=15 1
15-1/2=7 1
7-1/2=3 1
3-1/2=1 1
------------------
2-10
只需用将二进制数的各个位上的数从最右边开始,最右边的第一个数乘以二的零次方,第二个数乘以二的一次方,第三个数乘以二的二次方,依次类推可得第n个数乘以二的(n-1)次方,然后把得到的结果相加即可
例如:110011=1*2^0+1*2^1+0*2^2+0*2^3+1*2^4+1*2^5=51
这也可以算是一个公式就是An*2^(n-1) An表示二进制数最右边开始的第n个数,
将第一项第二项第三项一直到第n项用式子An*2^(n-1) 计算出来并加在一起即可
16. 下面php程序输出的内容是什么? 为什么?
aabbcc;//'t'不会以t切割字符串,explode之后申城一个array(0=>"aatbbtcc")所以。。。,'t'换成"t"就被切割
17. include和require 分别返回什么错误级别
include会系统警告并继续执行,require会发出系统警告但是会引致致命错误令脚本终止运行
18. 现有一个函数, 有不确定多少个的参数(可能有5个也可能有50个), 如何去定义这个函数
方法一: 不借助php内置函数
方法二: 提示func_num_args() func_get_arg() unc_get_args()
function param()
{
$numargs = func_num_args();
echo "Number of arguments: $numargs<br />n";
if ($numargs >= 2) {
echo "Second argument is: " . func_get_arg(1) . "<br />n";
}
$arg_list = func_get_args();
for ($i = 0; $i < $numargs; $i++) {
echo "Argument $i is: " . $arg_list[$i] . "<br />n";
}
}
param(1,2,3,4,5);
/**
* 例子写完后,本来认为完事了,结果遇到有人问call_user_func_array(),看了一下手册
* 原来,我上面的那个test函数还可以精简成如下的例子,
*/
function otest1 ($a)
{
echo( '一个参数' );
}
function otest2 ( $a,$b)
{
echo( '二个参数' );
}
function otest3 ( $a,$b,$c)
{
echo( '三个啦' );
}
function otest ()
{
$args=func_get_args();
$num=func_num_args();
call_user_func_array( 'otest'.$num,$args );
}
otest(1,2);
19. 在一个函数(该函数没有return语句)里面去处理全局变量, 并且改变他的值, 用两种方法去实现(global和引用&)
20. 应用中我们经常会遇到在user表随机调取10条数据来展示的情况, 简述你如何实现该功能, 不能使用sql函数以及order by等语句
表 user 字段uid, username
估计一个user表中的区间,在此区间用php去一个随机数,sql语句大于或者小于此id去limit几十条(保证10条数据),再不够散乱的话,取出来的数据shuffle函数打乱数组,array_rand随即取出10个
21. 假设下面的sql语句里面的uid都能获取到具体值, 经过下面语句查询后uid的顺序是什么, 如何去按照uid in 输入的顺序去排序
select uid from user where uid in(10, 1, 3, 8, 11, 4, 7);
可观的结果是1,3,4,7,8,10,11升序,有种情况特殊就是不确定因为中间的某些id人为直接修改可能不是升序了,如果按照uid in的顺序需要重新循环一次根据id获取查询结果数组中的值放进新数组中即可
22. 用PHP将一个字符串中的字母替换成**
preg_replace('/[a-zA-Z]*/','**',$str);
如果指定的字符就可以str_replace('ooxx','**',$str);
23. 下面2.php中打印结果是什么? 为什么? 执行顺序1.php->2.php
cookie,cookie时间就有问题time()+3600
24. 简述php常用的json编码函数, 如何将json解码的时候返回数组
25. mysql 在sql语句中有' / 等词的时候, 要对sql语句的每个具体值做些什么处理
mysql_real_escape_string
26. 如何在php中设置header头信息
header('');
27.有如下几个脚本, 请问2.php的输出结果
1.php
i am here
1
总结
a.如果include或include_once不是在函数或方法中被调用,则输出结果均一样。
b.如果include或 include_once在函数或方法中被调用,则如果想让第二次及以后调用时有结果,则必须用include,而不能用include_once,这一点一定要注意。
28. 简述call_user_func的功能
调用函数或者类里面的函数,返回第一个参数的值。类似的功能call_user_func_array
29. 访假设nginx已经配置server_name www.jb200.com xxx.jb200.com
访问问http://www.jb200.com/index.php和http://xxx.jb200.com/index.php之后
$_SERVER["SERVER_NAME"] 和 $_SERVER["REQUEST_URI"]分别是什么
www.jb200.com xxx.jb200.com
/index.php /index.php
30. linux下某文件的属性为 drwxr-xr-x 用数字表示其权限是
目录权限为755所有者u拥有读写修改权限所属组g拥有读、修改权限所属组之外o的拥有读和修改权限