php语言结构

#什么是语言结构
语言结构:就是PHP语言的关键词,语言语法的一部分;它不可以被用户定义或者添加到语言扩展或者库中;它可以有也可以没有变量和返回值。

#语言结构执行速度快的原因
函数都要先被PHP解析器(Zend引擎)分解成语言结构,所以,函数比语言结构多了一层解析器解析,速度就相对慢了

#php中语言结构有哪些

  • echo()
  • print()
  • die()
  • isset()
  • unset()
  • include()
  • require()
  • array()
  • list()
  • empty()

#怎样判断是语言结构还是函数
使用function_exists

#语言结构与函数的区别

  1. 语言结构比对应功能的函数快
  2. 语言结构在错误处理上比较鲁莽,由于是语言关键词,所以不具备再处理的环节
  3. 语言结构不能在配置项(php.ini)中禁用,函数则可以
  4. 语言结构不能被用做回调函数

###list使用

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
例一、连续索引数组
$arr = array("book","pen","paper");
list($a, $b, $c) = $arr;
echo "<pre>";
var_dump($a,$b,$c);
输出:
string(4) "book"
string(3) "pen"
string(5) "paper"

例二、非连续索引数组
$arr = array(
"1" => "book",
"3" => "pen",
"5" => "paper"
);
list($a, $b, $c) = $arr;
var_dump($a,$b,$c);
输出:
NULL
string(4) "book"
NULL

例三、关联数组
$arr = array(
"aaa" => "book",
"bbb" => "pen",
"ccc" => "paper"
);
list($a, $b, $c) = $arr;
var_dump($a,$b,$c);
输出:
NULL
NULL
NULL

例四、混合数组
$arr = array(
"2" => "book",
"bbb" => "pen",
"0" => "paper"
);
list($a, $b, $c) = $arr;
var_dump($a,$b,$c);
输出:
string(5) "paper"
NULL
string(4) "book"

总结:list只对索引数组起作用,且变量值和索引数组下标对应值对应。