PHP 相关知识点

1、PHP中常见的数组函数

数组排序函数:sort()、rsort()、asort()、arsort()、ksort()、krsort()

sort() 函数用于对数组单元从低到高进行排序,排序成功返回true,失败则返回false。

注意:本函数会为排序数组中的单元赋予新的键名,这将删除原有的键名而不仅是重新排序。

语法:sort(array,[sortingType])

其中,array 是必需的参数,代表要进行排序的数组,sortingType 是可选参数,表示如何进行排序。


rsort() 函数功能与 sort() 函数相反,用于对数组单元进行由高到低排序,用法则与 sort() 函数相同。

asort() 函数用于对数组单元从低到高进行排序并保持索引关系,主要用于对那些单元顺序很重要的结合数组进行排序。排序成功返回true,失败则返回false。

具体用法请参看 sort() 函数。

ksort() 函数功能是对关联数组按照键名由低到高进行排序,排序成功返回true,失败则返回false。具体用法请参看 sort() 函数。

krsort() 函数功能与 sort函数相反,是按照数组的键名由低到高进行排序。具体用法请参看 sort() 函数。


除了上面的函数,还有以下函数经常使用:

*数组遍历函数:

1 list():不是真正的函数,而是 PHP 的语言结构。用于给一组变量赋值,仅能用于索引数组。

2 each():传递一个数值作为参数,返回数组中当前元素的键/值对,并将指针移动到下一个元素位置。

3 while():可以配合 list() 和 each() 使用:while(list($key, $value) = each($array)) { 循环体 }。

区别:while 和 foreach,

*数组内部指针控制函数

1 current();  //读取指针位置的内容
2 key();      //读取当前指针指向内容的索引值
3 next();     //将数组中的内部指针指向下一单元
4 prev();     //将数组内部指针倒回一位
5 end();      //将数组内部指针指向最后一个元素
6 reset();    //将目前指针指向第一个索引位置

*数组的键/值操作函数

1 array_values($arr);       //获得数组的所有元素的值
2 array_keys($arr);         //获得数组的所有的键名
3 array_flip($arr);         //数组中的值与键名互换(如果有重复前面的会被后面的覆盖)
4 array_search('PHP',$arr); //检索给定的值,加true则是严格类型检查
5 array_reverse($arr);      //将数组中的元素翻转(前后顺序)
6 in_array("apple", $arr);  //在数组中检索apple
7 array_key_exists("apple", $arr); // 检索给定的键名是否存在数组中
8 array_count_values($arr);        // 统计数组中所有值出现的次数
9 array_unique($arr); // 删除数组中重复的值

*数组中的回调函数

1 array_filter(); //使用回调函数过滤数组中的元素,如果回调返回true则当前的元素被包含到返回数组中
2 array_walk();   //回调函数处理数组,自定义函数要有两个参数,本函数第三个参数可以作为回调第三个参数返回
3 array_map();    //可以处理多个数组,每个数组的长度应该相同,传入数组的个数和回调函数参数个数应该一致

*数组中的拆分、合并、分解和接合数组的函数

1 array_slice($arr, 0, 3);    //将数组中的一段取出,此函数忽略键名(数组的分段)
2 array_splice($arr, 0, 3,array("black","maroon"));    //将数组中的一段取出,返回的序列从原数组中删除
3 array_combine($arr1, $arr2); //通过合并两个数组来创建一个新数组。其中的一个数组是键名,一个数组的值为键值
4 array_merge($arr1, $arr2); //合并两个或多个数组(相同字符串键名,后面覆盖前面,相同的数字键名,后面的附加到后面)
5 array_intersect($arr1, $arr2);  //返回交集结果数组
6 array_diff($arr1, $arr2);           //返回差集结果数组
*数组中与数据结构相关的函数

1 array_push($arr, "apple", "pear");    //将一个或多个元素压入数组栈的末尾(入栈),返回入栈元素的个数
2 array_pop($arr);    // 将数组栈的最后一个元素弹出(出栈)
3 array_shift($arr);   //数组中第一个元素移出并返回(长度减1,其他元素向前移动一位,数字键名改为从零计数,文字键名不变)
4 array_unshift($arr,"a",array(1,2));  //在数组的开头插入一个或多个元素
*其他数组处理函数

1 array_rand($arr, 3);    //从数组中随机选出一个或多个元素并返回,第二个参数如果不指定,则默认返回一个元素
2 array_sum($arr);   //对数组内部的所有元素做求和运算(数组元素的求和)
3 range($first, $second);   //创建并返回一个包含指定范围的元素的数组,两个参数设置数组的范围
4 shuffle($arr);             // 将数组的顺序打乱

2、PHP 大小写敏感

在 PHP 中,所有变量都对大小写敏感。但是,所有在代码编写过程中定义的函数、类和关键词都对大小写不敏感,

<?php
$color="red";
echo "My car is " . $color . "<br>";  //输出 My car is red
echo "My house is " . $COLOR . "<br>";  //输出 My house is
echo "My boat is " . $coLOR . "<br>";  //输出 My house is
?>
<?php
ECHO "Hello World!<br>";  //输出 Hello World!
echo "Hello World!<br>";  //输出 Hello World!
EcHo "Hello World!<br>";  //输出 Hello World!
?>

3、PHP 中的几个输出函数

1:echo:是语句不是函数,没有返回值,可输出多个变量值,不需要圆括号。不能输出数组和对象,只能打印简单类型(如int,string)。

2:print:是语句不是函数,有返回值 1 ,只能输出一个变量,不需要圆括号。不能输出数组和对象,只能打印简单类型(如int,string)。

3:print_r:是函数,可以打印复合类型,例如:stirng、int、float、array、object等,输出array时会用结构表示,而且可以通过print_r($str,true)来使print_r不输出而返回print_r处理后的值

4:printf:是函数,把文字格式化以后输出(参看C语言)

5:sprintf:是函数,跟printf相似,但不打印,而是返回格式化后的文字(该函数把格式化的字符串写写入一个变量中,而不是输出来),其    他的与printf一样。 

6:var_dump():函数,输出变量的内容、类型或字符串的内容、类型、长度。常用来调试。


1,简述 GBK、GB2312、BIG5、GB18030
答:GB2312 支持的汉字较少,GBK是相比 GB2312 汉字更为丰富,包括全部中日韩汉字,GB18030相比 GBK 增加了一些少数民族汉字,汉字库更为丰富,但是常人很难用到,一般简体中文使用 GBK 而繁体中文使用 BIG5。
2,在一个PHP函数中使用具有全局属性的变量
global $name 或 $GLOBALS['name']
3,字符串怎么转换成整数,有几种方法
强制类型转换:(整型)字符串变量名
直接转换:settype(字符串变量,整数)
intval(字符串变量)
4,PHP 全局变量
$_ENV:
$_SERVER:
$_REQUEST:HTTP Request 变量,默认情况下包含了$GET、$_POST、$_COOKIE 的数组
$_FILES:
$_SESSION:
$_COOKIE:
$GET:
$_POST:
$GLOBALS:引用全局作用域中可用的全部变量
5,PHP 中 const 与 define 的使用区别
const 用于类成员变量定义,一旦定义且不能改变其值,define 定义全局常量,在任何地方都可以访问
define 不能再类中定义,const 可以
const 不能在条件语句总定义常量
const 采用一个普通的常量名称,define可以采用表达式作为名称
const 只能接受静态的标量,define 可以采用任何表达式
const 大小写敏感,define 可以通过第三个参数来定义大小写不敏感的常量
6,PHP 中子类最多可以继承 1 个父类
7,在子类对象实例化时也执行父类的构造函数,需要在子类构造函数中使用 parent::construct() 来显示调用父类的构造函数
8,SQL 注入的原因
表面上说是因为 拼接字符串,构成 sql 语句,没有使用 sql 语句预编译,绑定变量
更深层次的原因是,将用户输入的字符串,当成 sql语句 来执行
9,SQL 注入的防御
采用 sql 语句预编译和绑定变量
严格检查参数的数据类型,可以使用一些安全函数
10,用命令把 SQL 里的数据备份出来
导出一张表:mysqldump -u用户名 -p密码 库名 表名 > 文件名(如 D:/a.sql)
导出多张表:mysqldump -u用户名 -p密码 库名 表名1 表名2 表名3 > 文件名(如 D:/a.sql)
导出所有表:mysqldump -u用户名 -p密码 库名 > 文件名(如 D:/a.sql)
导出一个库:mysqldump -u用户名 -p密码 -B 库名 > 文件名(如 D:/a.sql)
11,IP 该如何保存
最简单的方法是使用字符串(varchar)保存
从效率方面考虑,将 IP保存为整形(unsigned int):使用 PHP/MySQL 函数将 IP 转换为整形,然后存储即可。
PHP 函数:long2ip() 和 ip2long()
MySQL 函数:inet_aton() 和 inet_ntoa

1、资源项目源码均已通过严格测试验证,保证能够正常运行; 2、项目问题、技术讨论,可以给博主私信或留言,博主看到后会第一时间与您进行沟通; 3、本项目比较适合计算机领域相关的毕业设计课题、课程作业等使用,尤其对于人工智能、计算机科学与技术等相关专业,更为适合; 4、下载使用后,可先查看README.md或论文文件(如有),本项目仅用作交流学习参考,请切勿用于商业用途。 5、资源来自互联网采集,如有侵权,私聊博主删除。 6、可私信博主看论文后选择购买源代码。 1、资源项目源码均已通过严格测试验证,保证能够正常运行; 2、项目问题、技术讨论,可以给博主私信或留言,博主看到后会第一时间与您进行沟通; 3、本项目比较适合计算机领域相关的毕业设计课题、课程作业等使用,尤其对于人工智能、计算机科学与技术等相关专业,更为适合; 4、下载使用后,可先查看README.md或论文文件(如有),本项目仅用作交流学习参考,请切勿用于商业用途。 5、资源来自互联网采集,如有侵权,私聊博主删除。 6、可私信博主看论文后选择购买源代码。 1、资源项目源码均已通过严格测试验证,保证能够正常运行; 2、项目问题、技术讨论,可以给博主私信或留言,博主看到后会第一时间与您进行沟通; 3、本项目比较适合计算机领域相关的毕业设计课题、课程作业等使用,尤其对于人工智能、计算机科学与技术等相关专业,更为适合; 4、下载使用后,可先查看README.md或论文文件(如有),本项目仅用作交流学习参考,请切勿用于商业用途。 5、资源来自互联网采集,如有侵权,私聊博主删除。 6、可私信博主看论文后选择购买源代码。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值