1.解惑
1.省略结束标签的便利性
php的结束标签是可以省略的,但前提是你只是用来写PHP,其中不包括html这些东西。不然会报出‘header has send’之类的错误。
2.empty、isset、isnull的区别
PHP提供三个用于测试变量的值的函数,分别是empty()、isset()、is_null()。都是返回布尔值。
isset用于检测变量是否声明且不 为NULL。不为NULL就返回真。
empty判断变量是否为空,空的定义:空字符串、false、空数组、NULL、0、‘,以及被unset删除后的变量。
is_null判断的是是否为NULL,是就返回真。只能对存在的变量进行判断
3.布尔值
PHP对布尔值是不区分大小写的
由于true等布尔值是一个常量,建议大写。 << 这个视情况而定。
4.变量作用域
PHP定义一个变量,在任何位置都可以存取访问,这就是‘全局变量’。而定义在函数或者类中的方法中的变量只能在函数内部访问,叫做局部变量。
使用局部变量可以使源代码易于管理。
PHP不允许从外部访问局部变量,所以可以在局部使用global声明一下该变量。
$globalname = 'xiao';
function hello() {
global $globalname;
}
5.多维数组排序
Q:数组排序PHP自带了一些sort() ksort() 等,但是无法对多维数组进行排序。
A:这里介绍一个排序函数叫做usort(),该函数可以根据用户自定义的函数进行排序。语法:usort(array,myfunction);
$a = [
[],
[],
[],
];
function my_compare($a, $b) {
if($a[1] < $[1]) {
return -1;
} elseif($a[1] == $[1]){
return 0;
} else {
return 1;
}
}
usort($a, 'my_compare');
##### 这里使用php7的新东西太空船运算符
function my_compared($a, $b) {
$res = $a[1] <=> $b[1];
}
### end
foreach($a as $elem) {
echo "elem[0] : $elem[1] <br />";
}
6.超全局数组
PHP内置了超全局数组
简写:
名称 | 功能 |
---|---|
_GET | |
_POST | |
_COOKIE | |
_SESSION | |
_EVN | |
_SERVER | |
_FILES | |
_REQUEST | |
GLOBALS |
7.global关键字和global数组的区别
$GLOBALS[] 数组似乎外部的全局变量本身。
global 关键字使外部变量同名引用或者指针。
如果你使用unset函数删除变量,会发现第一个被删除了,而第二个仍然可以输出。
来源:CSDN
作者:ping control
链接:https://blog.csdn.net/weixin_43306097/article/details/104065188