最近有朋友在面试的时候经常会遇到一些关于PHP的基础性问题,这些问题在实际应用中并没有注意到,但是在面试的时候,考官经常会通过这些来考察应试者的基础是否扎实。
而 key_exists 与 in_array 就是典型的列子
假设 $search 为有10个元素的数组,
key_exists 是('abc', $search) 与 in_array('abc', $search)
那个函数执行的速度快,为什么?
key_exists 是比较键值,是从哈希表里进行比较,
in_array 是将键值中的数据进行比较,要遍历整个数组。而数组中存储的方式是一个顺序表,要检索到键值为‘abc’的元素值,必须要先遍历键值为abc之前的所有数据元素。
而 key_exists存储的是数据的地址,是将地址存储在一张哈希表里,通过哈希算法,快速的检索到需要的数据元素
除以上外,还有 像是 get/post,include/require, 传值与传引用,session与cookie,echo、print、print_r 等等。这些都是基础,必须要掌握的。