以下是36-40题,说白了,以下题目就让你知道有这个知识点,详细内容自己可扩展。。。
36. 数组合并函数array_merge()和数组加法运算$arr + $arr2 的区别是什么?
array_merge()->使用array_merge(),如果是关联数组合并,如果数组的键名相同,那么后面的值将覆盖前者;如果是数字索引数组合并,则不覆盖,而是
后者附加到前者后面。
"+"->使用数组加法运算,与array_merge()不同,加法运算不管是关联数组还是数字索引数组,都是将相同键名的的值舍弃,
也就是只保留首次出现该键名的元素,后来的具有相同键名的元素都不会被加进来。
37. 字符串定义的时候单引号和双引号有什么区别?(重点)
一般用单引号或双引号标识一个字符串。单引号串与双引号串,在PHP中的处理是不同的。双引号中的内容可以被解释并被替换,单引号串中的内容则被作为普通字符处理。
例如:
$str=6;
echo "str is $str\n";
echo 'str is $str\n';
输出结果为
str is 6
str is $str\n
注:单引号中输出的内容是“所见即所得”的,无论有无变量,都被当做普通字符原样输出。
说明:在定义简单的字符串时,使用单引号是一个更加合适的处理方式。如果使用双引号,php将花费一下时间来处理字符串的转义和变量的解析。因此,建议在定义字符串时,如果没有特别的要求应尽量使用单引号。
38. echo(),print(),print_r()的区别?(重点)
(1)echo 是语法,Output one or more strings,没有返回值;
(2)print 是函数,不能输出数组和对象,Output a string,print有返回值;
(3)print_r 是函数,可以输出数组。print_r是个比较有意思的函数,可以输出stirng、int、float、array、object等,输出array时会用结构表示,print_r输出成功时返回true;而且print_r可以通过print_r($str,true)来,使print_r不输出而返回print_r处理后的值。此外,对于echo和print,基本以使用echo居多,因为其效率比print要高。
39. 按照功能分类说说都有哪些字符串处理函数?这些函数的作用是什么?
A. 字符串输出函数
(1)echo $a,$b,$c......; 是一个语言结构,而不是一个真正的函数。
(2)print($a) 本函数输出字符串。若成功则返回 1,失败返回 0
(3)print_r($a)
(4)var_dump($a); 能输出类型、长度、值
B. 去除字符串首尾空格的函数: trim ltrim rtrim(别名:chop) 使用第二个参数,还可以去除指定的字符。
C. 转义字符串函数:addslashes()
D. 获取字符串长度的函数:strlen()
E. 截取字符串长度的的函数:substr()
F. 检索字符串函数: strstr() , strpos()
G. 替换字符串函数:str_replace()
40. 请给出以下问题的正确答案?
1).$arr = array('james', 'tom', 'symfony');请将$arr数组的值用’,’分割并合并成字符串输出?
echo implode(‘,’,$arr);
2).$str = ‘jack,james,tom,symfony’; 请将$str用’,’分割,并把分割后的值放到$arr数组中?
$arr = explode(‘,’,$str);
3).$arr = array(3,7,2,1,’d’,’abc’); 请将$arr按照从大到小的顺序排序,并保持其键值不变?
arsort($arr); print_r($arr);
echo strstr($mail,'163');
echo substr($mail,7);
$arr = explode("@",$mail); echo $arr[1];
5). 如果有一个字符串,该字符串是“123,234,345,”。请问如何切割掉这个字符串最后一个逗号? echo rtrim($str, ",");
6). 获取随机数的函数有哪几个?mt_rand() 和 rand()哪个执行速度快?
对比:
mt_rand()是更好地随机数生成器,因为它跟rand()相比播下了一个更好地随机数种子;而且性能上比rand()快4倍,mt_getrandmax()所表示的数值范围也更大
领取专属 10元无门槛券
私享最新 技术干货