18. 现有一个函数, 有不确定多少个的参数(可能有5个也可能有50个), 如何去定义这个函数
方法一: 不借助php内置函数
方法二: 提示func_num_args() func_get_arg() unc_get_args()
function param()
{
$numargs = func_num_args();
echo "Number of arguments: $numargs
\n";
if ($numargs >= 2) {
echo "Second argument is: " . func_get_arg(1) . "
\n";
}
$arg_list = func_get_args();
for ($i = 0; $i < $numargs; $i++) {
echo "Argument $i is: " . $arg_list[$i] . "
\n";
}
}
param(1,2,3,4,5);
5 function otest1 ($a)
6 {
7 echo( '一个参数' );
8 }
9
10 function otest2 ( $a,$b)
11 {
12 echo( '二个参数' );
13 }
14
15 function otest3 ( $a,$b,$c)
16 {
17 echo( '三个啦' );
18 }
19
20 function otest ()
21 {
22 $args=func_get_args();
23 $num=func_num_args();
24 call_user_func_array( 'otest'.$num,$args );
25 }
26
27 otest(1,2);
19. 在一个函数(该函数没有return语句)里面去处理全局变量, 并且改变他的值, 用两种方法去实现(global和引用&)
$var=1;
function get_pra()
{
global $var;
$var = 'xxx';
echo $var;
}
echo $var.'--';
get_pra();
echo $var;
----------------------------------
$test = 1;
$test1 = 2;
function get_yinyong()
{
global $test1;
$GLOBALS["test"] = &$test1;
}
echo $test."\n";
get_yinyong();
echo $test;
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
setcookie('test', 'cookie_test', 3600);
?>
2.php
$cookie = isset($_COOKIE['test'])? $_COOKIE['test']: 'cookie';
echo $cookie;
?>
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.120.net xxx.120.net
访问问http://www.120.net/index.php和http://xxx.120.net/index.php之后
$_SERVER["SERVER_NAME"] 和 $_SERVER["REQUEST_URI"]分别是什么
www.120.net xxx.120.net
/index.php /index.php
30. linux下某文件的属性为 drwxr-xr-x 用数字表示其权限是
目录权限为755所有者u拥有读写修改权限所属组g拥有读、修改权限所属组之外o的拥有读和修改权限
31. 宽带的1Mbps理论上的下载速度是多少KBps, 计算的方法
1*1024/8
1M=1024KB
1KB=1024B
1B=8bit