PHP -- 基础测试题
2019-08-15 本文已影响0人
潘肚饿兵哥哥
1.用最少的代码写一个求3个数最大值的函数(不使用系统函数)
$a>$b ? ($a>$c ? $a : $c) : ($b>$c ? $b : $c);
系统函数 max()可以直接得到最大值
2.简述echo() var_dump() print_r() 的区别?
echo() 输出标量的值: 整型、浮点型、字符串、布尔型
var_dump() 所有类型都可以输出 除了输出值还会输出类型、长度
print_r() 所有类型都可以输出 仅返回结果
3.连接数据库操作的步骤
共7步:
连接数据库-->选择数据库-->设置编码
-->编写sql指令-->处理结果-->释放资源-->关闭连接
4.$x = 3 +"15%" + "$25" 问 $x=?
$x=18
php中,做加法会把字符串转为数字
15%转为字符串就是15,会把数字开头的字符串非数字部分舍掉
$25开头就不是数字了,转成数字就会变成0
所以,最终结果就是18
5.将字符串分割成数组和将数组组合成字符串的函数是?
explode 使用一个字符串分割另一个字符串
implode 将一个一维数组的值转化为字符串
6.$a=20, $b=10,问如何不用第三个变量交换 $a 和 $b 的值
1.第一种,他们必须都是数字,有一个不是就做不到了
$a = $a - $b, $b = $a+$b(这种方法必须两个都是数字)
2.第二种
list($b, $a) = [$a, $b];
7.php中有多少种数据类型, 并写出所有的类型
8种
8. isset 和 empty的区别
isset 检测变量是否存在 只要存在,不为null,就为真,
empty判断一个值是否为空
$a=0 empty($a) 为真,$a=false也为真 empty可以当false来用
9.执行程序段<?php echo -8%-3 ?>将输出?
-2
符号跟第一个数有关
10.函数名有哪些规范,函数名区分大小写吗?
函数名由数字、字母、下划线组成,不能以数字开头
不能使用系统关键字和函数名称(变量可以用系统关键字,函数不行)
函数名不区分大小写
11.在数组中插入一个元素的方法有哪些
往前面、中间、后面插入三种
12.列举常用的文件处理函数,并简述作用
fopen() fclose() fread() fwrite()
fgets() fgetss() fgetc() file() file_exists()
file_get_contents() file_put_contents()
unlink()
13.把字符串转换成整数,有几种方法,怎么实现
$b = intval($a) intval是一个返回值,不会转换$a的类型
$b = (int)$a 强制类型转换,不会转换$a的类型
settype($a, 'int') 直接将$a的类型转换,返回值是true/false 设置成功或失败
14.尽可能多的列举数组涉及到的常用函数
15.写出发帖数最多的是个人名字的SQL,利用下表,members(id, username, posts, pass, email)posts代表发帖数
select * from members order by posts desc limit 0,10
16.PHP中的错误类型有哪些
17.将1234567890转换成1,234,567,890(不使用系统函数)
number_format — 以千位分隔符方式格式化一个数字
18.mysqli_fetch_row() 和mysqli_fetch_assoc()和mysqli_fetch_array()之间有什么区别
mysqli_fetch_row 从结果集中取得一行,并作为枚举数组返回,索引(数字)下标
mysqli_fetch_assoc 函数从结果集中取得一行作为关联数组,关联下标
mysqli_fetch_array 从结果集中取得一行作为关联数组,或数字数组,或二者兼有,就是前两个的和
mysqli_fetch_all 从结果集中取得所有行作为关联数组,或数字数组,或二者兼有,用这个函数就全部拿到了
19.定义一个字符串有几种方式,并分别举一个例子
四种方式(写法):
单引号
双引号
heredoc语法结构
nowdoc语法结构
20.用户在网站表单里提交数据的时候,为了防止脚本攻击(比如用户输入<script> alert(111); </script>),php端接收数据的时候,应该如何处理。
两种方法:
htmlspecialchars — 将特殊字符转换为 HTML 实体
strip_tags — 从字符串中去除 HTML 和 PHP 标记