1. strlen( )与 mb_strlen( )的作用分别是什么(新浪网技术部)
strlen和mb_strlen都是用于获取字符串长度。
strlen只针对单字节编码字符,也就是说它计算的是字符串的总字节数。如果是多字节编码,如 gbk 和 utf-8,使用 strlen 得到是该字符的总字节数;
可以使用mb_strlen获取其字符个数,使用mb_strlen 要注意两点,一是要开启 mbstring 扩展,二是要指定字符集。
总结:
示例:
相关题目 1:实现中文字串截取无乱码的方法。
方法一,使用 php 内置函数 mb_substr()
方法二,自定义函数,以 utf-8 为例,如下:
相关题目2:如何求解字符串“中国2北333京”的字符数(一个中文一个字符),并找到第四个字符“北”
方法一,使用php内置函数,确保配置中已打开mbstring扩展
方法二,自定义函数实现求其长度,截取使用上面定义的substr_utf8
2. 下列哪个函数是用正则表达式将字符串分割到数组中 ( )
A. split
B. implode
C. explode
D. join
答案:A
3. 写出下列程序的输出结果(新浪网技术部)
答案:1
4. 写出下列几个预定义全局变量的作用 (新浪网技术部)
5. include 和 require 都能把另外一个文件包含到当前文件中,他们有什么区别?Include 和include_once 又有什么区别?(新浪网技术部)
二者区别只有一个,那就是对包含文件的需求程度。include 就是包含,如果被包含的文件不存在的话,那么则会提示一个错误,但是程序会继续执行下去。而 require 意思是需要,如果被包含文件不存在或者无法打开的时候,则会提示错误,并且会终止程序的执行。
这两种结构除了在如何处理失败之外完全一样。
once 的意思是一次,那么 include_once 和 require_once 表示只包含一次,避免重复包含。
相关题目 1:What is the difference between include & include_once? include & require?(Yahoo)
相关题目 2:语句 include 和 require 都能把另外一个文件包含到当前文件中,它们的区
别是_;为了避免多次包含同一文件,可以用语句_来代替它们。
在如何处理失败时,include()产生一个警告而require()则导致一个致命错误;require_once()/include_once()
相关题目 3:What functions can you use to add library code to the currently running script?(Yahoo)
include、require
6. 用最少的代码写一个求 3 值最大值的函数. (51.com 笔试题)
7. 简述 POST 和 GET 传输的最大容量分别是多少? (51.com 笔试题)
POST 根据你 php.ini 文件配置(默认是 8M)
GET 的话大小限制在 2KB
相关题目:表单中 get 与 post 提交方法的区别?
get 是发送请求 HTTP 协议通过 url 参数传递进行接收,而 post 是实体数据,可以通过表单提交大量信息。
8. 有三个 php 文件位于同一目录下,内容如下所示。使用浏览器访问 c.php,请问是否存在问题。如果存在问题,请指出修正方法并写出浏览器查看效果 ,如果不存在问题,请写出浏览器查看效果(酷讯 PHP 工程师笔试题)
A.php:
B.php:
C.php:
答案:存在问题,a.php 被包含了两次,导致 fa()函数重复定义,使用 include_once 避免重复包含。
9. echo(),print(),print_r()的区别?(新浪)
echo, print是PHP语句print_r是函数,语句没有返回值,函数可以有返回值(即便没有用)
print只能打印出简单类型变量的值(如int,string)
print_r可以打印出复杂类型变量的值(如数组,对象)
echo -- 输出一个或者多个字符串
print --输出一个字符串
print_r -- 打印关于变量的易于理解的信息。
在实际使用中, print 和 echo 两者的功能几乎是完全一样。
可以这么说,凡是有一个可以使用的地方,另一个也可以使用。但是,两者之间也还是一个非常重要的区别:
在 echo 函数中,可以同时输出多个字符串,而在 print 函数中则只可以同时输出一个字符串。同时,echo函数并不需要圆括号,所以echo函数更像是语句而不像是函数。
echo 和 print 都不是函数,而是语言结构,所以圆括号都不是必需的。他们的区别在于:
(1) echo可以输出多个字符串,像下面这样:echo ‘a‘,‘b‘,‘c‘;
如果你非要加上圆括号,注意写成echo (‘a‘,‘b‘,‘c‘);是错误的,应该写成:echo (‘a‘),(‘b‘),(‘c‘);
它没有像函数的行为,所以不能用于函数的上下文
(2) print只能输出一个字符串,它可以表现得像一个函数,比如你可以如下使用:$ret = print ‘Hello World‘;
(有返回值所以能够用在更复杂的表达式中,可以判断是否输出成功等表达式)所以它能用在更复杂的表达式中。
另外,echo的效率相对比较快~
如下代码:
说明:
,
是 echo 本身支持的一种语法,而.
则是字符串连接操作符,使用,
的效率要高一些。(少了连接运算),
来分隔字符串变量,也可以使用,
来分隔字符串变量;print只能使用.
来分隔字符串变量。总结:
echo命令和print命令相同,没有区别
echo()和print()有区别:
echo()没有返回值,与echo命令相同
print()有返回值,总是返回1
补充:
printf()和sprintf()类似,均为格式化输出,不同的是前者输出到标准输出,后者输出到变量
相关题目:What is the difference between "print()" and "echo( )"? (腾讯)
answer: print is a function,echo is a language construct
10. 用 PHP 打印出前一天的时间格式是 2006-5-10 22:21:21。
说明:
相关题目:求两个日期的差数,例如 2009-3-1 ~ 2009-4-4 的日期差数
(strtotime("2009-4-4")-strtotime("2009-3-1"))/3600*24
11. 不使用第三个变量交换两个变量的值