php面试题11(边看边复习刚刚讲的)(array_multisort($arr1,$arr2); 用$arr1来排序$arr2。)
php面试题11(边看边复习刚刚讲的)(array_multisort($arr1,$arr2); 用$arr1来排序$arr2。)
一、总结
1、边看边复习刚刚讲的
2、array_multisort($arr1,$arr2); 用$arr1来排序$arr2。
二、php面试题11
1、网络基础知识考察
2.请列出 4 个常用的 HTML 标签名 4 分
<form></form>
<pre></pre>
<div></div>
<ul></ul>
3.下列不属于 Javascript 语法关键/保留字的是 2 分
A. var
B. $
C. function
D. while
4.下列不属于 Javascrip DOM 操作事件的是 2 分
A.onclick
B.onkeydown
C. onbodyload
D.onmouseover
2、操作系统技能考察(10 分)
1. 请写出 5 个常用的 unix 操作命令. (5 分)
Chmod
Ls
Init
Rpm
Tar
Bzip2
Crontab
Iptables
Find
Mkdir
Touch
Move
Cp
2. 请写出以下 5 个 UNIX 系统配置文件/服务的作用
/etc/passwd /etc/hosts /etc/fstab crontab sshd
/etc/passwd 存放用户信息的配置
/etc/hosts 存放本机域名映射配置
/etc/fstab 存放磁盘分区信息配置
Crontab 计划任务
Sshd 远程登录
3、数据库知识考察(20 分)
1.请写出 5 个常用的 SQL 操作关键字. 5 分
Update
Insert
Select
Delete
Alter
Show
Create
Desc
Optimize
check
Where
order by
help
2.请列出 5 个常用的 PHP 操作 MySQL 的函数 5 分
Mysql_connect();
Mysql_select_db();
Mysql_errno();
Mysql_error();
Mysql_fetch_assoc();
Mysql_affected_rows();
Mysql_query();
3.请写出下面 MySQL 数据类型表达的意义。5 分
int(10) 整型(10 位)
char(16) 定长字符类型(16 位)
varchar(16) 变长字符类型(16 位)
其中 char 占用数据库空间但是查询速度快和 varchar 占用空间少,查询速度慢,如果空间足
够用 char 更效率
datetime 时间类型
text 文本类型
blob 二进制类型
4. 有两张数据表,表 user(id, name)记录了用户的 ID 和昵称,表 article(id, uid,title,
content, time)记录了用户发表的文章标题、内容和时间,写一个 SQL 语句打印出每个用
户的昵称及其发表的文章总数。5 分
select u.name,count(a.id) from user u,article a where u.id=a.uid group by u.id;
5.把左连接中产生的 null 替换成 0 或””aaaa”
mysql> select t4.name,if(t5.tel is null,'没有电话号码',t5.tel) from test_4 t4 left
join test_5 t5 on t4.id=t5.uid;
4、PHP 基础知识考察(30 分)
1.下列 PHP 函数中不能直接在页面输出字符串的函数是 2 分
A.echo
B. sprintf
C.printf
//sprintf() 函数把格式化的字符串写写入一个变量中。
2.在 PHP 中,'+'操作符的功能不包括 2 分
A. 字符串连接
B. 数组数据合并
C. 变量数据相加
3.下面哪个选项没有将 john 添加到 users 数组中? 2 分
(A)$users[]='john';
(B)array_push($users,'john');
(C) $users ||= 'john';
(D)array_unshift($users,'john');
答案 C
4.请列出 3 种 PHP 数组循环操作的语法,并注明每种循环的优缺点 5 分
Foreach()
For()
While() 结合 list() each();
6.请列出 3 个 PHP 中的预定义全局变量 3 分
$_POST;
$_GET;
$_SERVER
$_SESSION
7.从 PHP4.2.0 开始 PHP 默认配置将 register_globals 配置设定为 off,请指出这个设定
的作用和对 PHP 相关程序的影响。5 分
register_globals = Off
关闭这个可以防止 form 表单提交过来的值成为全局变量
可以防止覆盖掉自己定义的
8.写一个函数实现字符串翻转 5 分
Strrev(); //如果不准用函数的话就写下面的函数
<?php
function rev($str){
$len=strlen($str);
for($i=0;$i<$len/2;$i++){
$temp=$str[$i];
$str[$i]=$str[$len-$i-1];
$str[$len-$i-1]=$temp;
}
return $str;
}
?>
9.请写出下列 PHP 代码的执行结果 6 分
$var1 = 5;
$var2 = 10;
function foo(&$my_var)
{
global $var1;
$var1 += 2;
$var2 = 4;
$my_var += 3;
return $var2;
}
$my_var = 5;
echo foo($my_var) . "\n";
echo $my_var . "\n";
echo $var1 . "\n";
echo $var2 . "\n";
$bar = 'foo';
$my_var = 10;
echo $bar($my_var) . "\n";
5、PHP 编程考察(30 分)
1、 不断在文件 hello.txt 头部写入一行“Hello World”字符串,要求代码完整(10 分)
<?php
$str="Hello World";
$handle=fopen("hello.txt","r+");
fwrite($handle,$str);
#file_put_contents()
<?php
File_put_contents(“file.txt”,”hello world”,FILE_APPEND);
2、 输出用户的 IP 地址,并且判断用户的 IP 地址是否在 192.168.1.100 ---
192.168.1.150 之间(5 分)。
<?php
$ip=$_SERVER['REMODE_ADDR'];
$ip=$_POST[‘ip’];
$ip='192.168.1.113';
$pos=strrpos($ip,'.')+1;
$ipleft=substr($ip,0,$pos);
$ipright=substr($ip,$pos);
if($ipleft!='192.168.1.'){
exit('不允许');
}
if($ipright<100 || $ipright>150){
exit('不允许');
}
?>
3、 请将 2 维数组按照 name 的长度进行重新排序,按照顺序将 id 赋值(从 1 开始)。(15
分)
<?php
$Tarray = array(
array(‘id’ => 0, ‘name’ => ‘123833’),
array(‘id’ => 0, ‘name’ => ‘aaa’),
array(‘id’ => 0, ‘name’ => ‘albabaababa’),
array(‘id’ => 0, ‘name’ => ‘12356’),
array(‘id’ => 0, ‘name’ => ‘123abc’)
)
foreach($Tarray as $key=>$value) {
$long[$key] = strlen($value['name']);
}
//$Tarray 放最后一个参数,也就是最后一个数组按照第一个参数的顺序进行排序
array_multisort($long, SORT_ASC, $Tarray);
4 5 3 1 2n
$i = 1;
foreach($Tarray as &$value) {
$value['id'] = $i;
$i++;
}