PHP如观潮一般

佐手、 提交于 2020-01-22 00:50:38

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函数删除变量,会发现第一个被删除了,而第二个仍然可以输出。

标签
易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!