PHP面试题精讲 — 基本数据类型函数弱类型
Posted 小雨同学的服务器果然有问题
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了PHP面试题精讲 — 基本数据类型函数弱类型相关的知识,希望对你有一定的参考价值。
日拱一卒无有尽,功不唐捐终入海 💋
目录
一、常见题型
1. 双引号和单引号的区别?
单引号内的变量不会转义,双引号的会进行转义。
2. for
和foreach
的区别?
foreach更适合不定长度数组的循环。
foreach循环更容易去操作数组的key。
3. echo
,print
,print_r
的区别?
echo只能输出字符串,print可以输出简单的数据类型,print_r输出的数据类型更复杂。
4. 多维数组是指的什么?
指的是数组的值也是数组,层层嵌套。
5. 如何反转字符串?
strrev()
- 分割字符串成数组,再进行遍历。
二、面试题型总结
上面的事例题型不是很多,因为这部分的考察内容占到php面试题的比例不是很高。
问的问题大概可以分为下面几种
- 变量经过操作,最后的值是什么
- 给出一个数组,如何得到目的数组
- 几个函数的区别
三、知识点整理(收藏)
1. PHP支持的数据类型
PHP支持的数据类型有
基本类型
- bool(布尔型)
- int(整型)
- float(浮点型)
- string(字符串)
复合类型
- array(数组)
- object(对象)
- callable(可调用)
- iterable(可迭代)
特殊类型
- resource(资源)
- NULL(无类型)
对于初级的PHP面试题来说,考察更多的是前6种,就是我加粗的这几种。
gettype()
函数可以得到变量的类型,一般在实际的项目中,更多的用法是判断是否是具体类型
is_numeric()
is_array()
is_string()
等函数
2. 函数相关 – 数组排序
PHP原生支持的排序数组如下,但是一般在实际项目中,我们会用框架自带的数据排序方法,比如YIi2中的Array_helper()
。
array_multisort()
多个数组或多维数组排序
$a =array(100,80,50,10,0);
$b = array("c","f","q","e","z");
array_multisort($a,$b);
var_dump($a);
var_dump($b)
asort()
arsort()
根据数组的值进行排序
$fruits = array("d" => "lemon", "a" => "orange", "b" => "banana", "c" => "apple");
asort($fruits);
foreach ($fruits as $key => $val) {
echo "$key = $val\\n";
}
krsort()
ksort()
根据数组的键进行排序
$fruits = array("d"=>"lemon", "a"=>"orange", "b"=>"banana", "c"=>"apple");
krsort($fruits);
foreach ($fruits as $key => $val) {
echo "$key = $val\\n";
}
3. 函数相关 – 基本类型操作
双引号
双引号内下变量是可以直接用的,所以下面的等效。
echo "$a $b";
echo $a.$b;
弱类型的比较
PHP的弱类型比较,在实际工作中用到的很多,有时候会很方便,但是大多数的实际业务中,推荐===
var_dump("diandianxiyu_geek"==0); //true
var_dump("diandianxiyu_geek"==1); //false
var_dump("diandianxiyu_geek_2021"==1); //false
var_dump("diandianxiyu_geek_2021"==0);//true
var_dump("0diandianxiyu_geek123456"=="0diandianxiyu_geek4456789"); //false
$a++
和++$a
这个类型属于面试专属,一般情况下的业务代码是用不上的,除非特别放飞自我。
$a++
和 $a = $a + 1
是等价的,得到的变量是加过的。
++$a
是后加的,当前语句的变量不变。
四、 思路扩展(作业)
欢迎在评论中贴代码!
- 弱类型的特点,导致字符串如何做加减操作?
- 怎么样确定我的数据类型真的是数组,并且马上做一层循环打印值?
五、总结
关于变量和函数,初级的PHP面试题会涉及到一些,中高级的一般不这么问。
对于毕业生来说,这部分还是需要花一点时间认识下的。
以上是关于PHP面试题精讲 — 基本数据类型函数弱类型的主要内容,如果未能解决你的问题,请参考以下文章