PHP函数

用户自定义函数

除了内置的 PHP系统函数以外,我们可以创建我们自己的函数。
函数是可以在程序中重复使用的语句块。
页面加载时函数不会立即执行。
函数只有在被调用时才会执行。

语法:

function functionName() {
      被执行的代码;
}

函数名能够以字母或下划线开头(而非数字),一般情况下不建议开头使用下划线形式命名。
函数名对大小写不敏感。

  • 递归函数
    什么是递归函数呢?
    递归函数即为自调用函数,在函数体内直接或间接自己调用自己,但需要设置自调用的条件,若满足条件,则调用函数本身,若不满足则终止本函数的自调用,所以递归函数必须要设置条件,否则就是死循环;
function getList(&$i=0) {
    echo $i;
    $i++;
    if ($i < 10) {
        getList($i);
    }
}
  • 魔法函数与魔法常量
    • 魔法函数

__construct() —— 构造方法__construct(),实例化对象时被调用,在所有的方法没有运行之前,先自动运行。
__destruct() —— 析构方法__destruct(),在所有的方法都运行完以后,再自动运行。
__call() —— 对象调用某个方法, 若方法存在,则直接调用; 若不存在,则会去调用__call()函数。
__get() —— 读取一个对象的属性时, 若属性存在,则直接返回属性值; 若不存在,则会调用__get函数。
__set() —— 设置一个对象的属性时, 若属性存在,则直接赋值; 若不存在,则会调用__set函数。
__autoload() —— 实例化一个对象时,如果对应的类不存在,则该方法被调用。

  • 魔法常量

__LINE__ —— 返回文件中的当前行号。
__FILE__ —— 返回文件的完整路径和文件名。如果用在包含文件中,则返回包含文件名。自 PHP 4.0.2 起,__FILE__ 总是包含一个绝对路径,而在此之前的版本有时会包含一个相对路径。
__FUNCTION__ —— 返回函数名称(PHP 4.3.0 新加)。自 PHP 5 起本常量返回该函数被定义时的名字(区分大小写)。在 PHP 4 中该值总是小写字母的。
__CLASS__ —— 返回类的名称(PHP 4.3.0 新加)。自 PHP 5 起本常量返回该类被定义时的名字(区分大小写)。在 PHP 4 中该值总是小写字母的。
__METHOD__ 返回类的方法名(PHP 5.0.0 新加)。返回该方法被定义时的名字(区分大小写)。

  • 常用函数
    • 字符串处理函数

trim,ltrim,rtrim
addslashesstripslashes
quotemetastripcslashes
substrmb_substrstrstr
str_replacestr_ireplace
str_repeat
strlenmb_strlen
strtoupperstrtolower
ucfirstucwords
htmlspecialcharshtmlspecialchars_decode
strposstripos
date_default_timezone_set('PRC')
urlencodeurldecode
chrord
rand
md5
nl2br
json_encodejson_decode
serializeunserialize
str_pad
base64_encodebase64_decode
strrev
explodeimplode

  • 数字处理函数

ceil
floor
round
strvalintvalfloatval
number_format

  • 正则表达式函数

preg_match:字符串比对解析
preg_match_all:字符串整体比对解析
preg_replace:字符串比对解析并取代
preg_split:将字符串依指定的规则切开

  • 判断处理函数

isset
unset
empty
is_bool
is_int
is_string
is_array
in_array
is_object
is_float
is_dir
is_file

  • 数组处理函数

count
array_diff
array_push
array_unique
array_merge
array_filter
shuffle
array_key_exists
current
next
prev
end
reset
array_rand
array_chunk
list
sort

  • 时间处理函数

microtime
time
date
strtotime
mktime

  • 文件处理函数

basename — 返回路径中的文件名部分
chmod — 改变文件模式
chown — 改变文件的所有者
copy — 拷贝文件
dirname — 返回路径中的目录部分
disk_free_space — 返回目录中的可用空间
disk_total_space — 返回一个目录的磁盘总大小
fclose — 关闭一个已打开的文件指针
fflush — 将缓冲内容输出到文件
fgets — 从文件指针中读取一行
fgetss — 从文件指针中读取一行并过滤掉 HTML 标记
file_exists — 检查文件或目录是否存在
file_get_contents — 将整个文件读入一个字符串
file_put_contents — 将一个字符串写入文件
file — 把整个文件读入一个数组中
fileatime — 取得文件的上次访问时间
filectime — 取得文件的 inode 修改时间
filemtime — 取得文件修改时间
fileowner — 取得文件的所有者
fileperms — 取得文件的权限
filesize — 取得文件大小
filetype — 取得文件类型
fopen — 打开文件或者 URL
fread — 读取文件(可安全用于二进制文件)
fwrite — 写入文件(可安全用于二进制文件
is_dir — 判断给定文件名是否是一个目录
is_executable — 判断给定文件名是否可执行
is_file — 判断给定文件名是否为一个正常的文件
is_link — 判断给定文件名是否为一个符号连接
is_readable — 判断给定文件名是否可读
is_uploaded_file — 判断文件是否是通过 HTTP POST 上传的
is_writable — 判断给定的文件名是否可写
mkdir — 新建目录
move_uploaded_file — 将上传的文件移动到新位置
pathinfo — 返回文件路径的信息
readfile — 输出一个文件
realpath — 返回规范化的绝对路径名
rename — 重命名一个文件或目录
rmdir — 删除目录
stat — 给出文件的信息
tempnam — 建立一个具有唯一文件名的文件
tmpfile — 建立一个临时文件
touch — 设定文件的访问和修改时间
unlink — 删除文件

  • 清除数组中的空值元素
$array = array_filter($where,create_function('$v','return !empty($v);'));

任务

运用数组函数对多维数组的值进行排序。例:学生考试成绩,按照分数进行排名
运用文件函数遍历循环出所有文件夹下的子文件

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 194,319评论 5 459
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 81,801评论 2 371
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 141,567评论 0 319
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 52,156评论 1 263
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 61,019评论 4 355
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 46,090评论 1 272
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 36,500评论 3 381
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 35,192评论 0 253
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 39,474评论 1 290
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 34,566评论 2 309
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 36,338评论 1 326
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 32,212评论 3 312
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 37,572评论 3 298
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 28,890评论 0 17
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 30,169评论 1 250
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 41,478评论 2 341
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 40,661评论 2 335

推荐阅读更多精彩内容