本文共 2615 字,大约阅读时间需要 8 分钟。
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); /** 2 * 例子写完后,本来认为完事了,结果遇到有人问call_user_func_array(),看了一下手册 3 * 原来,我上面的那个test函数还可以精简成如下的例子, 4 */ 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 2.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.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
转载地址:http://tlrvb.baihongyu.com/