黑马程序员技术交流社区

标题: PHP易混淆知识点大分享-连载5 [打印本页]

作者: huawei    时间: 2016-5-17 18:16
标题: PHP易混淆知识点大分享-连载5
本帖最后由 huawei 于 2017-3-5 11:35 编辑

PHP易混淆知识点大分享-连载1
PHP易混淆知识点大分享-连载2
PHP易混淆知识点大分享-连载3
PHP易混淆知识点大分享-连载4
PHP易混淆知识点大分享-连载5


41.页面字符出现乱码,怎么解决?


42. 正则表达式是什么?php中有哪些常用的跟正则相关的函数?请写出一个email的正则,中国手机号码和座机号码的正则表达式?


43. 请说出目前学过的返回是资源的函数?


44. preg_replace()和 str_ireplace()两个函数在使用上有什么不同?preg_split()和split()函数如何使用?


45. 获取当前时间戳的函数主要有哪些?用PHP打印出今天的时间,格式是2010-12-10 22:21:21?

46.   在url中用get传值的时候,若中文出现乱码,应该用哪个函数对中文进行编码?


47. 说说mysql_fetch_row() 和mysql_fetch_assoc()和mysql_fetch_array之间有什么区别?


精华推荐:

2017最新PHP学习路线图(附完整视频资源)+源码+技巧/经验+求职+前景总结!
连续两班仅6日就业率突破53%,看2016PHP课程升级是否成功!
视频集合:众多老学员呐喊:"为什么我选传智PHP"!



作者: 胡琴123    时间: 2016-9-13 23:16
很好
作者: 胡琴123    时间: 2016-9-13 23:19
恩,可以采纳
作者: 天宝    时间: 2016-9-13 23:24
多谢达人分享,多多努力,多多学习
作者: guiwushaonian    时间: 2016-9-16 21:31
来学习一下
作者: kevin_bj    时间: 2016-10-29 11:50
66666666666666
作者: 7257242    时间: 2016-11-12 11:21
恩,可以采纳{:5_301:}
作者: eldoon    时间: 2016-11-16 14:56
PHP易混淆知识点大分享-连载4
PHP易混淆知识点大分享-连载5
作者: 夜歌行    时间: 2016-11-20 16:39
fdsaaaaaaaaaaaaaaaaa
作者: lanbao    时间: 2016-11-22 17:49
haohaohaohaohaohaohao
作者: xw1985520    时间: 2016-12-18 01:21
DDFDFDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDD
作者: 踏上PHP征程    时间: 2016-12-18 14:01
好好学习  天天向上
作者: 肖肖肖    时间: 2016-12-18 22:44
谢谢分享!!!
作者: fanphp    时间: 2016-12-26 12:59
谢谢楼主分享
作者: lcy1069    时间: 2016-12-29 15:26
QQQQQQQQQQQQQQ
作者: VC丶万人敬仰    时间: 2017-1-4 09:56
啊啊实打实大发送给对方会傻大个是
作者: kaishui    时间: 2017-1-7 00:23
111111111111111111111
作者: 1317181388    时间: 2017-2-6 13:28
感谢楼主分享
作者: heychm    时间: 2017-2-6 15:10
66666666666666666
作者: 嘎啦儿    时间: 2017-2-15 14:44
看看回复答案~~
作者: fjdaslfjk    时间: 2017-2-16 14:17
31. 数组的概念是什么?数组根据索引分为哪两种,如何区分?数组的赋值方式有哪两种? 本帖隐藏的内容 数组是一个可以存储一组或一系列数值的变量(复合型变量)         索引数组(索引值为数字,以0开始)和关联数组(以字符串作为索引值)         数组的赋值方式有哪两种?         数组的声明方式主要有两种。         1.通过array()函数声明数组; 可以通过key=>value的方式分别定义索引和值,也可以不定义数组的索引下标,只给出数组的元素值。        2.直接为数组元素赋值,不需要调用array()函数。例如:        $arr[0] = 1;     $arr[1] = 2;         特别注意:         数组的下标如果是等价于整数的字符串值(但不能以0开头),则会被当作整数对待。         例如: $array[3] 与  $array['3'] 引用的是相同的一个元素,而 $array['03'] 引用的则就是另外的一个元素了。  32.数组如何遍历? 本帖隐藏的内容 ①for循环         ②foreach循环  ,这是最常用的遍历方式。用法如下:foreach($arr as $key=>$value){}         ③list each 和while 配合起来循环  33. foeach数组的时候指针是如何指向的?list()/each()/while()循环数组的时候指针如何指向的呢? 本帖隐藏的内容 当foreach开始执行的时候,数组内部的指针会自动指向第一个单元。因为foreach所操作的是指定数组的拷贝,而不是该数组本身。而each()一个数组后,数组指针将停留在数组中的下一个单元或者碰到数组结尾时停留在最后一个单元。如果要再次使用each()遍历数组,必须要使用reset().         reset()将数组的内部指针倒回到第一个单元并返回第一个数组单元的值。  34. 如何计算数组长度(或者说计算数组中所有元素的个数)?字符串怎么取长度? 本帖隐藏的内容 count() -- 计算数组中的元素个数。         可以使用count(数组名)或者count(数组名,1),如果有第二个参数,并且是数字1,则表示递归统计数组元素的个数。如果第二个参数是数字0,则等同于只有一个参数的count()函数。         sizeof() -- count() 的别名(count — 计算数组中的单元数目或对象中的属性个数) 字符串:strlen()— 获取字符串长度         mb_strlen()— Get string length  35. 数组中相关的常用函数有哪些? 本帖隐藏的内容 1) count --(sizeof别名)— 计算数组中的单元数目或对象中的属性个数                    例如:int count ( mixed $var [, int $mode ] )  $var 通常都是数组类型,任何其它类型都只有一个单元。  $mode 默认值为0. 1为开启递归地对数组计数         2) in_array ( mixed $needle , array $haystack [, bool $strict ] ) — 检查数组中是否存在某个值。如果 needle 是字符串,则比较是区分大小写的。如果第三个参数 strict 的值为 TRUE 则 in_array() 函数还会检查 needle 的类型是否和 haystack 中的相同。         3) array_merge(array $array1 [, array $array2 [, array $... ]] ) 将一个或多个数组的单元合并起来,一个数组中的值附加在前一个数组的后面。返回作为结果的数组。                 特别注意:如果输入的数组中有相同的字符串键名,则该键名后面的值将覆盖前一个值。然而,如果数组包含数字键名,后面的值将不会覆盖原来的值,而是附加到后面. 如果只给了一个数组并且该数组是数字索引的,则键名会以连续方式重新索引!         4) 数组与字符串之间的转换                 (1)explode ( string $separator , string $string [, int $limit ] )  使用一个分隔字符来分隔一个字符串。                 (2)implode ( string $glue , array $arr )  使用一个连接符将数组中的每个单元连接为一个字符串。join 为 implode 的别名         5) sort(array &$array [, int $sort_flags ]) — 对数组按照值排序,当本函数结束时数组单元将被从最低到最高重新安排。  36. 数组合并函数array_merge()和数组加法运算$arr + $arr2 的区别是什么?     本帖隐藏的内容 array_merge()->使用array_merge(),如果是关联数组合并,如果数组的键名相同,那么后面的值将覆盖前者;如果是数字索引数组合并,则不覆盖,而是后者附加到前者后面。"+"->使用数组加法运算,与array_merge()不同,加法运算不管是关联数组还是数字索引数组,都是将相同键名的的值舍弃,也就是只保留首次出现该键名的元素,后来的具有相同键名的元素都不会被加进来。   37. 字符串定义的时候单引号和双引号有什么区别?        本帖隐藏的内容 单引号加载速度比双引号加载速度快.   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);         4).$mail = “gaofei@163.com”;        请将此邮箱的域(163.com)取出来并打印,看最多能写出几种方法?                 echo strstr($mail,'163');                 echo substr($mail,7);                 $arr = explode("@",$mail); echo $arr[1];         5). 如果有一个字符串,该字符串是“123,234,345,”。请问如何切割掉这个字符串最后一个逗号?         6). 获取随机数的函数有哪几个?mt_rand() 和 rand()哪个执行速度快?
作者: 用户名不得小    时间: 2017-2-17 22:08
31. 数组的概念是什么?数组根据索引分为哪两种,如何区分?数组的赋值方式有哪两种?
本帖隐藏的内容

数组是一个可以存储一组或一系列数值的变量(复合型变量)
        索引数组(索引值为数字,以0开始)和关联数组(以字符串作为索引值)
        数组的赋值方式有哪两种?
        数组的声明方式主要有两种。
        1.通过array()函数声明数组;
可以通过key=>value的方式分别定义索引和值,也可以不定义数组的索引下标,只给出数组的元素值。
       2.直接为数组元素赋值,不需要调用array()函数。例如:        $arr[0] = 1;     $arr[1] = 2;
        特别注意:
        数组的下标如果是等价于整数的字符串值(但不能以0开头),则会被当作整数对待。
        例如: $array[3] 与  $array['3'] 引用的是相同的一个元素,而 $array['03'] 引用的则就是另外的一个元素了。

32.数组如何遍历?
本帖隐藏的内容

①for循环
        ②foreach循环  ,这是最常用的遍历方式。用法如下:foreach($arr as $key=>$value){}
        ③list each 和while 配合起来循环

33. foeach数组的时候指针是如何指向的?list()/each()/while()循环数组的时候指针如何指向的呢?
本帖隐藏的内容

当foreach开始执行的时候,数组内部的指针会自动指向第一个单元。因为foreach所操作的是指定数组的拷贝,而不是该数组本身。而each()一个数组后,数组指针将停留在数组中的下一个单元或者碰到数组结尾时停留在最后一个单元。如果要再次使用each()遍历数组,必须要使用reset().
        reset()将数组的内部指针倒回到第一个单元并返回第一个数组单元的值。

34. 如何计算数组长度(或者说计算数组中所有元素的个数)?字符串怎么取长度?
本帖隐藏的内容

count() -- 计算数组中的元素个数。
        可以使用count(数组名)或者count(数组名,1),如果有第二个参数,并且是数字1,则表示递归统计数组元素的个数。如果第二个参数是数字0,则等同于只有一个参数的count()函数。
        sizeof() -- count() 的别名(count — 计算数组中的单元数目或对象中的属性个数)
字符串:strlen()— 获取字符串长度
        mb_strlen()— Get string length

35. 数组中相关的常用函数有哪些?
本帖隐藏的内容

1) count --(sizeof别名)— 计算数组中的单元数目或对象中的属性个数   
                例如:int count ( mixed $var [, int $mode ] )  $var 通常都是数组类型,任何其它类型都只有一个单元。  $mode 默认值为0. 1为开启递归地对数组计数
        2) in_array ( mixed $needle , array $haystack [, bool $strict ] ) — 检查数组中是否存在某个值。如果 needle 是字符串,则比较是区分大小写的。如果第三个参数 strict 的值为 TRUE 则 in_array() 函数还会检查 needle 的类型是否和 haystack 中的相同。
        3) array_merge(array $array1 [, array $array2 [, array $... ]] ) 将一个或多个数组的单元合并起来,一个数组中的值附加在前一个数组的后面。返回作为结果的数组。
                特别注意:如果输入的数组中有相同的字符串键名,则该键名后面的值将覆盖前一个值。然而,如果数组包含数字键名,后面的值将不会覆盖原来的值,而是附加到后面. 如果只给了一个数组并且该数组是数字索引的,则键名会以连续方式重新索引!
        4) 数组与字符串之间的转换
                (1)explode ( string $separator , string $string [, int $limit ] )  使用一个分隔字符来分隔一个字符串。
                (2)implode ( string $glue , array $arr )  使用一个连接符将数组中的每个单元连接为一个字符串。join 为 implode 的别名
        5) sort(array &$array [, int $sort_flags ]) — 对数组按照值排序,当本函数结束时数组单元将被从最低到最高重新安排。

36. 数组合并函数array_merge()和数组加法运算$arr + $arr2 的区别是什么?
   
本帖隐藏的内容

array_merge()->使用array_merge(),如果是关联数组合并,如果数组的键名相同,那么后面的值将覆盖前者;如果是数字索引数组合并,则不覆盖,而是后者附加到前者后面。"+"->使用数组加法运算,与array_merge()不同,加法运算不管是关联数组还是数字索引数组,都是将相同键名的的值舍弃,也就是只保留首次出现该键名的元素,后来的具有相同键名的元素都不会被加进来。


37. 字符串定义的时候单引号和双引号有什么区别?
      
本帖隐藏的内容

单引号加载速度比双引号加载速度快.


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);
        4).$mail = “gaofei@163.com”;        请将此邮箱的域(163.com)取出来并打印,看最多能写出几种方法?
                echo strstr($mail,'163');
                echo substr($mail,7);
                $arr = explode("@",$mail); echo $arr[1];
        5). 如果有一个字符串,该字符串是“123,234,345,”。请问如何切割掉这个字符串最后一个逗号?
        6). 获取随机数的函数有哪几个?mt_rand() 和 rand()哪个执行速度快?
作者: wangsilala    时间: 2017-2-22 12:45
qqqqqqqqqq
作者: Cai小神    时间: 2017-2-23 16:52
PHP易混淆知识点大分享
作者: Overflow    时间: 2017-3-11 20:05
666666666666666
作者: 瞬间回忆    时间: 2017-5-24 17:09
PHP易混淆知识点大分享-连载5
作者: followyounger11    时间: 2017-5-27 13:19
谢谢分析啊啊
作者: dongfengyuli    时间: 2017-5-28 09:53
66666666666666666谢谢分享
作者: pykpyk    时间: 2017-8-6 17:52
66666666666666666666666
作者: qq280385639    时间: 2017-8-7 15:24
dsddddddddddddd
作者: 金海环境    时间: 2017-8-9 09:21
ccccccccccccccccccccccc
作者: iamyhf    时间: 2017-8-28 15:30
回复查看详情
作者: zkyoung    时间: 2017-11-7 14:35
1234567876543




欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) 黑马程序员IT技术论坛 X3.2