网上转的一篇文章,不知道真的是不是 sina 的,题目很普通。无论是不是真的新浪面试
题,对于正在求职的同行来说,也算可以练练手的了。这些面试题都带了答案,看着还
行
1.
echo
count("abc");
输
出
什
么
?
答
:
"1"
count — 计 算 数 组 中 的 单 元 数 目 或 对 象 中 的 属 性 个 数
int count ( mixed $var [, int $mode ] ),
如 果 var 不 是 数 组 类 型 或 者 实 现 了
Countable
接口的对象,将返回 1
,有一个例外,如果 var
是 NULL
则结果是 0。
对于对象,如果安装了 SPL
,可以通过实现 Countable
接口来调用 count()。该接口只
有 一 个 方 法
count()
, 此 方 法 返 回
count() 函 数 的 返 回 值 。
2. 用 PHP 写 出 显 示 客 户 端
IP 与 服 务 器 IP 的 代 码
答
:
$_SERVER['SERVER_ADDR']
服
务
器
$_SERVER['REMOTE_ADDR']
客
户
端
function
getOnlineIP(){
if
(getenv('HTTP_CLIENT_IP'))
return
getenv('HTTP_CLIENT_IP');
if
(getenv('HTTP_X_FORWARDED_FOR'))
return
getenv('HTTP_X_FORWARDED_FOR');
if ($_SERVER["REMOTE_ADDR"]) return $_SERVER["REMOTE_ADDR"];
if
(!empty($HTTP_SERVER_VARS['REMOTE_ADDR']))
return
$HTTP_SERVER_VARS['REMOTE_ADDR'];
}
3.
error_reporting(2047)
什
么
作
用
?
答
:
PHP
显
示
所
有
错
误
E_ALL
4. echo
,
print()
和
print_r()
有
什
么
区
别
?
答
:
echo
是
一
个
语
言
结
构
,
没
有
返
回
值
。
print 是 一 个 函 数 , 返 回 int 类 型 的 值 。 [ 只 能 打 印 int string]
print_r()是一个函数,返回 bool 类型值,按结构输出变量的值。打印关于变量的易于理
解
的
信
息
[
数
组
、
对
象
等
]
5. 打 开 php.ini 中 的 Safe_mode , 会 影 响 哪 些 函 数 ? 至 少 说 出 6 个 。
答:1:用户输入输出函数(fopen() file() require(),只能用于调用这些函数有相同脚本的
拥
有
者
)
2: 创 建 新 文 件 ( 限 制 用 户 只 在 该 用 户 拥 有 目 录 下 创 建 文 件 )
3:用户调用 popen() systen() exec()等脚本,只有脚本处在 safe_mode_exec_dir 配
置
指
令
指
定
的
目
录
中
才
可
能
4:加强 HTTP 认证,认证脚本拥有者的 UID 的划入认证领域范围内,此外启用安全模式
下
,
不
会
设
置
PHP_AUTH
5:mysql 服务器所用的用户名必须与调用 mysql_connect()的文件的拥有者用户名相同
6: 受 影 响 的 函 数 变 量 以 及 配 置 命 令 达 到
40
个
6. 写 个 函 数 来 解 决 多 线 程 同 时 读 写 一 个 文 件 的 问 题 。
答 : flock($hander,LOCK_EX); 这 个 可 是 内 置 函 数 啊 ,
这
个
尚
待
解
决
7. 请 写 一 个 函 数 验 证 电 子 邮 件 的 格 式 是 否 正 确 ( 要 求 使 用 正 则 )