PHP-基础
    - 介绍
 - 本地环境安装
 - 安装 WNMP 环境
 - 代码编辑器选择
 - 语法
 - 变量与常量
 - 常见输出函数
 - 数据类型之四种标量类型
 - 数据类型之三种复合类型
 - 数据类型之两种特殊类型
 - Operators:运算符
 - 流程控制:条件判断语句
 - 流程控制:循环语句
 - 流程控制:中止语句
 - 函数
 - 类和对象:基本概念
 - 类和对象:类结构
 - 类和对象:面向对象
 - 类和对象:三种特殊类
 - 类和对象
 - 类和对象:Trait
 - 类和对象:魔术方法
 - 命名空间
 - 【实战】PHP表单
 
PHP-函数
    - 
                        String
- addcslashes()
 - addslashes()
 - bin2hex()
 - chop()
 - chr()
 - chunk_split()
 - convert_cyr_string()
 - convert_uudecode()
 - convert_uuencode()
 - count_chars()
 - crc32()
 - crypt()
 - echo
 - explode()
 - fprintf()
 - get_html_translation_table()
 - hebrev()
 - hebrevc()
 - hex2bin()
 - htmlentities()
 - htmlspecialchars()
 - htmlspecialchars_decode()
 - html_entity_decode()
 - implode()
 - join()
 - lcfirst()
 - levenshtein()
 - localeconv()
 - ltrim()
 - md5()
 - md5_file()
 - metaphone()
 - money_format()
 - nl2br()
 - nl_langinfo()
 - number_format()
 - ord()
 - parse_str()
 - printf
 - quoted_printable_decode()
 - quoted_printable_encode()
 - quotemeta()
 - rtrim()
 - setlocale()
 - sha1()
 - sha1_file()
 - similar_text()
 - soundex()
 - sprintf()
 - sscanf()
 - strcasecmp()
 - strchr()
 - strcmp()
 - strcoll()
 - strcspn()
 - stripcslashes()
 - stripos()
 - stripslashes()
 - strip_tags()
 - stristr()
 - strlen()
 - strnatcasecmp()
 - strnatcmp()
 - strncasecmp()
 - strncmp()
 - strpbrk()
 - strpos()
 - strrchr()
 - strrev()
 - strripos()
 - strrpos()
 - strspn()
 - strstr()
 - strtok()
 - strtolower()
 - strtoupper()
 - strtr()
 - str_getcsv()
 - str_ireplace()
 - str_pad()
 - str_repeat()
 - str_replace()
 - str_rot13()
 - str_shuffle()
 - str_split()
 - str_word_count()
 - substr()
 - substr_compare()
 - substr_count()
 - substr_replace()
 - trim()
 - ucfirst()
 - ucwords()
 - vfprintf()
 - vprintf()
 - vsprintf()
 - wordwrap()
 
 - 
                        Array
- array()
 - array_change_key_case()
 - array_chunk()
 - array_column()
 - array_combine()
 - array_count_values()
 - array_diff()
 - array_diff_assoc()
 - array_diff_key()
 - array_diff_uassoc()
 - array_diff_ukey()
 - array_fill()
 - array_fill_keys()
 - array_filter()
 - array_flip()
 - array_intersect()
 - array_intersect_assoc()
 - array_intersect_key()
 - array_intersect_uassoc()
 - array_intersect_ukey()
 - array_keys()
 - array_key_exists()
 - array_key_first()
 - array_key_last()
 - array_map()
 - array_merge()
 - array_merge_recursive()
 - array_multisort()
 - array_pad()
 - array_pop()
 - array_product()
 - array_push()
 - array_rand()
 - array_reduce()
 - array_replace()
 - array_replace_recursive()
 - array_reverse()
 - array_search()
 - array_shift()
 - array_slice()
 - array_splice()
 - array_sum()
 - array_udiff()
 - array_udiff_assoc()
 - array_udiff_uassoc()
 - array_uintersect()
 - array_uintersect_assoc()
 - array_uintersect_uassoc()
 - array_unique()
 - array_unshift()
 - array_values()
 - array_walk()
 - array_walk_recursive()
 - arsort()
 - asort()
 - compact()
 - count()
 - current()
 - each()
 - end()
 - extract()
 - in_array()
 - key()
 - key_exists()
 - krsort()
 - ksort()
 - list()
 - natcasesort()
 - natsort()
 - next()
 - pos()
 - prev()
 - range()
 - reset()
 - rsort()
 - shuffle()
 - sizeof()
 - sort()
 - uasort()
 - uksort()
 - usort()
 
 - 
                        File
- basename()
 - chgrp()
 - chmod()
 - chown()
 - clearstatcache()
 - copy()
 - dirname()
 - diskfreespace()
 - disk_free_space()
 - disk_total_space()
 - fclose()
 - feof()
 - fflush()
 - fgetc()
 - fgetcsv()
 - fgets()
 - fgetss()
 - file()
 - fileatime()
 - filectime()
 - filegroup()
 - fileinode()
 - filemtime()
 - fileowner()
 - fileperms()
 - filesize()
 - filetype()
 - file_exists()
 - file_get_contents()
 - file_put_contents()
 - flock()
 - fnmatch()
 - fopen()
 - fpassthru()
 - fputcsv()
 - fputs()
 - fread()
 - fscanf()
 - fseek()
 - fstat()
 - ftell()
 - ftruncate()
 - fwrite()
 - glob()
 - is_dir()
 - is_executable()
 - is_file()
 - is_link()
 - is_readable()
 - is_uploaded_file()
 - is_writable()
 - is_writeable()
 - lchgrp()
 - lchown()
 - link()
 - linkinfo()
 - lstat()
 - mkdir()
 - move_uploaded_file()
 - parse_ini_file()
 - parse_ini_string()
 - pathinfo()
 - pclose()
 - popen()
 - readfile()
 - readlink()
 - realpath()
 - realpath_cache_get()
 - realpath_cache_size()
 - rename()
 - rewind()
 - rmdir()
 - set_file_buffer()
 - stat()
 - symlink()
 - tempnam()
 - tmpfile()
 - touch()
 - umask()
 - unlink()
 
 - 
                        Datetime
- checkdate()
 - date()
 - date_add()
 - date_create()
 - date_create_from_format()
 - date_date_set()
 - date_default_timezone_get()
 - date_default_timezone_set()
 - date_diff()
 - date_format()
 - date_get_last_errors()
 - date_interval_create_from_date
 - date_interval_format()
 - date_isodate_set()
 - date_modify()
 - date_offset_get()
 - date_parse()
 - date_parse_from_format()
 - date_sub()
 - date_sunrise()
 - date_sunset()
 - date_sun_info()
 - date_timestamp_get()
 - date_timestamp_set()
 - date_timezone_get()
 - date_timezone_set()
 - date_time_set()
 - getdate()
 - gettimeofday()
 - gmdate()
 - gmmktime()
 - gmstrftime()
 - idate()
 - localtime()
 - microtime()
 - mktime()
 - strftime()
 - strptime()
 - strtotime()
 - time()
 - timezone_abbreviations_list()
 - timezone_identifiers_list()
 - timezone_location_get()
 - timezone_name_from_abbr()
 - timezone_name_get()
 - timezone_offset_get()
 - timezone_open()
 - timezone_transitions_get()
 - timezone_version_get()
 
 - 
                        Filter
 - 
                        HTTP
 - 
                        cURL
- curl_close()
 - curl_copy_handle()
 - curl_errno()
 - curl_error()
 - curl_escape()
 - curl_exec()
 - curl_file_create()
 - curl_getinfo()
 - curl_init()
 - curl_multi_add_handle()
 - curl_multi_close()
 - curl_multi_errno()
 - curl_multi_exec()
 - curl_multi_getcontent()
 - curl_multi_info_read()
 - curl_multi_init()
 - curl_multi_remove_handle()
 - curl_multi_select()
 - curl_multi_setopt()
 - curl_multi_strerror()
 - curl_pause()
 - curl_reset()
 - curl_setopt()
 - curl_setopt_array()
 - curl_share_close()
 - curl_share_errno()
 - curl_share_init()
 - curl_share_setopt()
 - curl_share_strerror()
 - curl_strerror()
 - curl_unescape()
 - curl_version()
 
 - 
                        PDO
 - 
                        PDOStatement
 
array_reduce()
1. 定义
该函数迭代地处理数组中的每个元素,将数组迭代成一个单一的值。
2. 语法
array_reduce ( array $array , callable $callback [, mixed $initial = NULL ] ) : mixed
3. 参数说明
| 参数 | 可选性 | 数据类型 | 描述 | 
|---|---|---|---|
| $array | 必需 | 数组 | 被调用回调函数的数组 | 
| $callback | 必需 | 可回调类型 | 回调函数 | 
| $initial | 可选 | mixed | 第一个被回调函数调用的参数,默认为NULL | 
其中,callback函数接受两个参数,第一个参数是上次迭代的值,如果本次迭代是第一次,那么该值为$initial;第二个参数是本次迭代的值。
4. 示例
<?php
// array_reduce()
// 将数组迭代为一个单一的值
$arr = ['name'=>'极速数据', 'business'=>'PHP教程', 'work'=>'API参考'];
function callback($carry, $item)
{
    return $carry.$item;
}
$res = array_reduce($arr, 'callback', '这个参数算是初始化的一个过程,会被第一个用到回调函数中');
var_dump($res);// 输出:string(111) "这个参数算是初始化的一个过程,会被第一个用到回调函数中极速数据PHP教程API参考"
// 对数组求和(简单的数组操作可以替换 foreach 循环了)
$arr = [1, 2, 3, 4, 5];
function callback2($carry, $item)
{
    return $carry+$item;
}
$res = array_reduce($arr, 'callback2');
var_dump($res);// 输出:int(15)
5. 延展阅读
- array_filter():将数组中的每个值发送到指定的回调函数处理,如果回调函数返回 TRUE,则该元素被添加至返回的数组,键名不变
 - array_map():对数组中的每个元素都调用指定函数
 - array_unique():去除一维数组中的重复值,对每个值只保留第一次出现的键名
 - array_count_values():统计指定数组的键值信息,返回一个以键值为键名、对应键值出现的次数为键值的关联数组