-
Notifications
You must be signed in to change notification settings - Fork 66
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
PHP面试题汇总 #1
Comments
第九题,亲测 环境:win10 php5.6.7 php-cli 答案是false |
var_dump('01' == 1) // return NULL
in_array('01', array('1')) // return true
$a // false |
@JimChenWYU 部分面试题来自网络,难免以讹传讹,已修改。 |
面试了两家公司 都是这些问题 |
@anpingzhaoyu 面前刷一下 |
为什么我第9题的结果是true呢? 环境:Ubuntu 14.04 LTS php5.5.9 |
@ansonli1988 是false echo "var_dump('01'==1):"; |
@Qinjianbo |
@ansonli1988 额!~~~ |
还要注意 in_array 的第三个参数,如果第三个参数是 true,要检查类型的: var_dump(in_array('01', [1], true)); // false
var_dump(in_array('01', ['1'], true)); // false |
这问题也太简单了吧,面试如果问这些文件也意味着这个公司很垃圾 |
1. echo(),print(),print_r()的区别?
echo 和 print 不是一个函数,是一个语言结构;
print(string $arg)
只有一个参数;echo arg1,arg2
可以输出多个参数,返回void
;echo
和print
只能打印出string,不能打印出结构;print_r
能打印出结构。比如:2. 语句include和require的区别是什么?
在失败的时候:
include
产生一个warning
,而require
直接产生错误中断;require
在运行前载入;include
在运行时载入;require_once
和include_once
可以避免重复包含同一文件。3. php中传值与传引用有啥区别?
&表示传引用;
函数中参数传引用会将参数进行改变;
一般在输出参数有多个的时候可以考虑使用引用。
4. 下面哪项没有将john添加到users数组中?
答案为bd,php 里面无
array_add
函数,d项为语法错误的表达。5. HTTP协议中几个状态码的含义。
6. 写出一些php魔术方法。
7. MySQL存储引擎 MyISAM 和 InnoDB 的区别。
8. 说出一些MySQL优化方法?
9. 下面$a的结果是:
A true
B false
答案为B
10. 说下php中empty()和isset()的区别。
isset
用于检测变量是否被设置,使用isset()
测试一个被设置成 NULL 的变量,将返回FALSE
。empty
如果var
是非空或非零的值,则empty()
返回FALSE
。换句话说,""、0、"0"、NULL、FALSE、array()、var $var;
以及没有任何属性的对象都将被认为是空的,如果var
为空,则返回TRUE
。如果变量为
0
,则empty()
会返回TRUE
,isset()
会返回TRUE
;如果变量为空字符串,则
empty()
会返回TRUE,isset()
会返回TRUE
;如果变量未定义,则
empty()
会返回TRUE
,isset()
会返回FLASE
。注意:
isset()
只能用于变量,因为传递任何其它参数都将造成解析错误。若想检测常量是否已设置,可使用defined()
函数。当要 判断一个变量是否已经声明的时候 可以使用
isset
函数;当要 判断一个变量是否已经赋予数据且不为空 可以用
empty
函数;当要 判断 一个变量 存在且不为空 先
isset
函数 再用empty
函数;The text was updated successfully, but these errors were encountered: