1, require 和 include
几乎完全一样,除了处理失败的方式不同之外。require 在出错时脚本中止而 include 产生警告,脚本会继续运行。
处理返回值:在失败时 include 返回 FALSE 并且发出警告。成功的包含则返回 1,除非在包含文件中另外给出了返回值。
可以在被包括的文件中使用 return 语句来终止该文件中程序的执行。
如果在包含文件中定义有函数,这些函数不管是在 return 之前还是之后定义的,都可以独立在主文件中使用。
2, 可变函数
当调用静态方法时,函数调用要比静态属性优先
3, 数组函数
①当前元素函数
current 返回数组中的当前单元
key() 返回数组中当前单元的键名。
②指针函数
prev — 将数组的内部指针倒回一位, 并返回单元的值,或当没有更多单元时返回 FALSE。
next — 将数组的内部指针向前移动一位并返回单元的值,或当没有更多单元时返回 FALSE。
end() 将 array 的内部指针移动到最后一个单元并返回其值。
reset() 将 array 的内部指针倒回到第一个单元并返回第一个数组单元的值。
③操作数组元素
array_pop() 弹出并返回 array 数组的最后一个单元,并将数组 array 的长度减一。
如果 array 为空(或者不是数组)将返回 NULL。
使用此函数后会重置(reset())array 指针。
array_shift() 将 array 的第一个单元移出并作为结果返回,将 array 的长度减一并将所有其它单元向前移动一位。
所有的数字键名将改为从零开始计数,文字键名将不变。
如果 array 为 空或不是一个数组则返回 NULL。
使用此函数后会重置(reset())array 指针。
array_push() 将 array 当成一个栈,并将传入的变量压入 array 的末尾。
返回处理之后数组的元素个数。
如果用 array_push() 来给数组增加一个单元,还不如用 $array[] = ,因为这样没有调用函数的额外负担。
如果第一个参数不是数组,array_push() 将发出一条警告。
array_unshift() 将传入的单元插入到 array 数组的开头。
注意单元是作为整体被插入的,因此传入单元将保持同样的顺序。
所有的数值键名将修改为从零开始重新计数,所有的文字键名保持不变。
返回 array 数组新的单元数目。
④生成新数组
array array_map ( callable $callback , array $arr1 [, array $... ] )
array_map() 返回一个数组,该数组包含了 arr1 中的所有单元经过 callback 作用过之后的单元。
callback 接受的参数数目应该和传递给 array_map() 函数的数组数目一致。
通常使用了两个或更多数组时,它们的长度应该相同,因为回调函数是平行作用于相应的单元上的。如果数组的长度不同,则最短的一个将被用空的单元扩充。
array array_filter ( array $input [, callable $callback [, int $flag = 0 ]] )
依次将 input 数组中的每个值传递到 callback 函数。如果 callback 函数返回 TRUE,则 input 数组的当前值会被包含在返回的结果数组中。返回过滤后的数组。
数组的键名保留不变。
如果没有提供 callback 函数, 将删除 input 中所有等值为 FALSE 的条目。
flag 决定 callback 接收的参数形式:
- 默认为0 $v
- ARRAY_FILTER_USE_KEY - callback 接受键名作为的唯一参数 2 $k
- ARRAY_FILTER_USE_BOTH - callback 同时接受键名和键值 1 $v, $k
array array_column ( array $input , mixed $column_key [, mixed $index_key ] )
array_column() 返回input数组中键值为column_key的列,如果指定了可选参数index_key,那么input数组中的这一列的值将作为返回数组中对应值的键。
column_key 需要返回值的列,它可以是索引数组的列索引,或者是关联数组的列的键。 也可以是NULL,此时将返回整个数组(配合index_key参数来重置数组键的时候,非常管用)
array array_unique ( array $array [, int $sort_flags = SORT_STRING ] )
array_unique() 接受 array 作为输入并返回没有重复值的新数组。
⑤排序函数
bool sort ( array &$array [, int $sort_flags = SORT_REGULAR ] )
本函数对数组进行排序。当本函数结束时数组单元将被从最低到最高重新安排。重建数字索引。
bool rsort ( array &$array [, int $sort_flags = SORT_REGULAR ] )
本函数对数组进行逆向排序(最高到最低)。
bool asort ( array &$array [, int $sort_flags = SORT_REGULAR ] )
本函数对数组进行排序,数组的索引保持和单元的关联。
主要用于对那些单元顺序很重要的结合数组进行排序。
bool arsort ( array &$array [, int $sort_flags = SORT_REGULAR ] )
本函数对数组进行排序,数组的索引保持和单元的关联。
主要用于对那些单元顺序很重要的结合数组进行排序。
bool ksort ( array &$array [, int $sort_flags = SORT_REGULAR ] )
对数组按照键名排序,保留键名到数据的关联。本函数主要用于关联数组。
bool krsort ( array &$array [, int $sort_flags = SORT_REGULAR ] )
对数组按照键名逆向排序,保留键名到数据的关联。主要用于结合数组。
⑤其他函数
mixed array_search ( mixed $needle , array $haystack [, bool $strict = false ] )
在 haystack 中搜索 needle 参数。
如果 needle 是字符串,则比较以区分大小写的方式进行。
如果可选的第三个参数 strict 为 TRUE,则 array_search() 将在 haystack 中检查完全相同的元素。 这意味着同样检查 haystack 里 needle 的 类型,并且对象需是同一个实例。
如果找到了 needle 则返回它的键,否则返回 FALSE。
如果 needle 在 haystack 中出现不止一次,则返回第一个匹配的键。要返回所有匹配值的键,应该用 array_keys() 加上可选参数 search_value 来代替。
int count ( mixed $var [, int $mode = COUNT_NORMAL ] )
统计一个数组里的所有元素,或者一个对象里的东西。
如果 var 不是数组类型或者实现了 Countable 接口的对象,将返回 1。
有一个例外,如果 var 是 NULL 则结果是 0。
对没有初始化的变量返回 0,但对于空的数组也会返回 0。用 isset() 来测试变量是否已经初始化。