php知识点

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() 来测试变量是否已经初始化。


你可能感兴趣的:(php知识点)