PHP面试题精讲 — 基本数据类型函数弱类型

Posted 邻座的小雨同学

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了PHP面试题精讲 — 基本数据类型函数弱类型相关的知识,希望对你有一定的参考价值。

日拱一卒无有尽,功不唐捐终入海 💋

一、常见题型

1. 双引号和单引号的区别?

单引号内的变量不会转义,双引号的会进行转义。

2. forforeach的区别?

foreach更适合不定长度数组的循环。
foreach循环更容易去操作数组的key。

3. echo,print,print_r的区别?

echo只能输出字符串,print可以输出简单的数据类型,print_r输出的数据类型更复杂。

4. 多维数组是指的什么?

指的是数组的值也是数组,层层嵌套。

5. 如何反转字符串?

  1. strrev()
  2. 分割字符串成数组,再进行遍历。

二、面试题型总结

上面的事例题型不是很多,因为这部分的考察内容占到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面试题精讲 — 基本数据类型函数弱类型的主要内容,如果未能解决你的问题,请参考以下文章

PHP面试题精讲—2021—时间日期格式化在实际项目的应用

PHP面试题精讲—2021—时间日期格式化在实际项目的应用

前端面试题练习

php基本类型

PHP面试题精讲—Session会话完全解析!亲测有效!建议收藏!

PHP面试题精讲—Session会话完全解析!亲测有效!建议收藏!