PHP:150个内置函数简单整合

简介: PHP:150个内置函数简单整合

共计整理150个函数

一、数学函数

11个

函数

说明

举例

结果

abs

绝对值

abs(45), abs(-45)

45, 45

ceil

向上取整

ceil(5.5)

6

floor

向下取整

floor(5.5)

5

fmod

浮点数取余

fmod(5, 3)

2

pow

n次方运算

pow(2, 3)

8

round

四舍五入

round(4.55555, 2)

4.56

sqrt

求平方根

sqrt(9)

3

max

最大值

max(1, 2, 3), max(array(1, 2, 3))

3, 3

min

最小值

min(1, 2, 3), min(array(2, 3, 4))

1, 1

rand

随机数

rand(1, 4), mt_rand(1, 4)

4, 1

pi

圆周率值

pi()

3.1415926535898


二、字符串函数

57个

1、字符串处理

13个

函数

说明

举例

结果

trim

修剪两边

trim("\thello\t")

hello

ltrim

修剪左边

ltrim("\thello\t")

hello\t

rtrim

修剪右边

rtrim("\thello\t")

\thello

str_pad

字符串填充

str_pad(“hello”, 10, “*”)

hello*****

str_repeat

重复字符串

str_repeat(“hello”, 2)

hellohello

strrev

反转字符串

strrev(“hello”)

olleh

str_shuffle

打乱字符串

str_shuffle(“hello”)

lheol

number_format

格式化数字

number_format(100000.897, 2, “.”, “-”)

100-000.90

strtolower

字符串转为小写

strtolower(“Hello”)

hello

strtoupper

字符串转为大写

strtoupper(“hello”)

HELLO

ucfirst

字符串首字母大写

ucfirst(“hello world”)

Hello world

ucwords

字符串所有首字符大写

ucwords(“hello world”)

Hello World

wordwrap

字符串折行

wordwrap(“hello world”, 5)

hello\nworld


3、字符串比较

8个

函数

说明

举例

结果

chr

ASCII 值返回字符

chr(65)

A

ord

字符串第一个字符的ASCII值

ord(“hello”)

104

strcasecmp

不区分大小写比较两字符串

strcasecmp(“Hello”, “HELLO”)

0

strcmp

区分大小写比较两字符串

strcmp(“Hello”, “HELLO”)

32

strncmp

比较字符串前n个字符,区分大小写

strncmp(“Hello”, “HELLO”, 3)

32

strncasecmp

比较字符串前n个字符,不区分大小写

strncasecmp(“Hello”, “HELLO”, 3)

0

strnatcmp

自然顺序法比较字符串长度,区分大小写

(“Hello”, “HELLO”)

1

strnatcasecmp

自然顺序法比较字符串长度, 不区分大小写

strnatcasecmp(“Hello”, “HELLO”)

0


4、字符串切割与拼接

6个

函数

说明

举例

结果

chunk_split

将字符串分成小块

chunk_split(“hello world”, 3)

hel lo wor ld

strtok

切开字符串

strtok(“hello world”, " ")

hello

explode

字符串分割

explode(" ", “hello world”)

Array([0] => hello [1] => world)

str_split

字符串分割

str_split(“hello”)

Array([0] => h [1] => e…)

implode

将数组值连接成字符串

implode("+", array(“hello”, “world”))

hello+world

substr

截取字符串

substr(“hello”, 1, 3)

ell

5、字符串查找替换

15个

函数

说明

举例

结果

str_replace

字符串替换,区分大小写

str_replace(“h”, “xx”, “hello”)

xxello

str_ireplace

字符串替换,不区分大小写

str_ireplace(“h”, “xx”, “hello”)

xxello

substr_replace

字符串替换

substr_replace(“hello, hello”, “x”, 1, 6)

hxhello

similar_text

两字符串相同字符的数量

similar_text(“hello”, “Hello”)

5

strstr

字符串开始位置到结束的字符串

strstr(“HELLO hello”, “l”)

llo

strchr

strstr()的别名

strchr(“HELLO hello”, “l”)

llo

stristr

字符串开始位置到结束的字符串,不区分大小写

stristr(“HELLO, hello”, “l”)

LLO, hello

strrchr

字符串最后一次出现位置开始到末尾的字符串

strrchr(“hello”, “l”)

lo

strtr

转换字符串中的某些字符

strtr(“hello”, “ll”, “xx”)

hexxo

strpos

字符最先出现的位置

strpos(“HELLO, hello”, “l”)

9

stripos

字符最先出现的位置,不区分大小写

stripos(“HELLO, hello”, “l”)

2

strrpos

字符最后出现的位置

strrpos(“hello,HELLO”, “l”)

3

strripos

字符最后出现的位置,不区分大小写

strripos(“hello, HELLO”, “l”)

10

strspn

字符串中首次符合mask的长度

strspn(“www.baidu.com”, “ad”)

0

strcspn

字符串中不符合mask的长度

strcspn(“www.baidu.com”, “ad”)

5


6、字符串统计

4个

函数

说明

举例

结果

substr_count

统计字符串出现次数

substr_count(“hello”, “l”)

2

str_word_count

统计含有的单词数

str_word_count(“hello world”)

2

strlen

统计字符串长度

strlen(“hello world”)

11

count_chars

统计字母次数

count_chars(“hello”))

Array([0] => 0 [1] => 0… [255] => 0)


7、字符串其他函数

1个

函数

说明

举例

结果

md5

字符串md5编码

md5(“hello”)

5d41402abc4b2a76b9719d911017c592

三、数组函数

33个

1、数组创建

5个

函数

说明

举例

结果

array

数组创建

array(“Dog”, “Cat”)

Array([0]=>Dog [1]=>Cat)

array_combine

两个数组zip生成一个数组

array_combine(array(“a”), array(“Cat”))

Array([a]=>Cat)

range

定范围的数组

range(0, 4, 2)

Array([0]=>0 [1]=>2 [2]=>4)

compact

创建数组,变量名为键,变量值为值

$name= “Tom”; $age = “38”;compact(“name”, “age”)

Array([name]=>Tom [age]=>38)

array_fill

填充值生成数组

array_fill(2, 1, “Dog”)

Array([1]=>Dog)


2、数组合并和拆分

5个

函数

说明

举例

结果

array_chunk

重组数组块

$a=array("a"=>"Cat", "b"=>"Dog"); array_chunk($a, 1)

Array([0] => Array([0] => Cat) [1]=>Array([0]=>Dog))

array_merge

合并

array_merge(array("a"=>"Dog"), array("b"=>"Cat"))

Array([a]=>Dog [b]=>Cat)

array_slice

切片

array_slice(array(0=>"Dog",1=>"Cat"), 1, 1)

Array([0] => Dog)

array_diff

差集

array_diff(array(0=>"Cat",1=>"Dog"), array(0=>"Dog"))

Array([0]=>Cat)

array_intersect

交集

array_intersect(array(0=>"Cat"), array(1=>"Dog"))

Array([1]=>Cat [2]=>Dog)


3、数组查找替换

5个

函数

说明

举例

结果

array_search

查找值,返回键,没有返回假

array_search(“Dog”, array(“a”=>“Dog”))

a

array_splice

数组替代

array(0=>“Dog”, 1=>“Cat”), 0, 1, array(0=>“Tiger”)

array(0=>“Tiger”)

array_sum

求和

array_sum(array(0=>5, 1=>10))

15

in_array

查找值 ,区分大小写

in_array(“Tom”, array(“Tom”, “Jack”))

1

array_key_exists

查找键

array_key_exists(“b”, array(“b”=>“Cat”))

1


4、数组元素操作

10个

函数

说明

举例

结果

key

指针当前指向的键名

key(array(“a”=>“Dog”,“b”=>“Cat”))

a

current

当前元素

current(array(“a”=>“Dog”,“b”=>“Cat”))

Dog

next

下一元素

next(array(“a”=>“Dog”,“b”=>“Cat”))

Cat

prev

上一元素

prev(array(“a”=>“Dog”,“b”=>“Cat”)) Dog

 

end

指向最后一个元素

end(array(“a”=>“Dog”,“b”=>“Cat”))

Cat

reset

指向第一个元素

reset(array(“a”=>“Dog”,“b”=>“Cat”))

Dog

list

序列解包

list(a , a,a,b)=array(“Dog”,“Cat”)

$a=“Dog”; $b=“Cat”

array_shift

返回删除的第一个元素

array_shift(array(“Dog”,“Cat”))

Dog

array_unshift

开头插入元素

array_unshift(&array(),“Dog”)

Array([0]=>“Dog”)

array_push

最后压入元素

array_push(&array(), “Dog”)

Array([0]=>“Dog”)

array_pop

弹出最后一个元素

array_pop(&array(), “Dog”)

Dog

shuffle

数组打乱,保留键名

shuffle(array(“a”=> “Dog”))

Array(“a”=> “Dog”)

count

计算个数

count(array(“Tom”))

1

array_flip

键值反转

array_flip(array(“Tom”, “Jack”))

Array([Tom]=>0 [Jack]=>1)

array_keys

返回所有键

array_keys(array(“Tom”, “Jack”))

Array([0]=>0 [1]=>1)

array_values

返回所有值

array_values(array(“Tom”, “Jack”))

Array([0]=>Tom [1]=>Jack)

array_reverse

元素顺序反转

array_reverse(array(“Tom”, “Jack”))

Array([0]=>Jack [1]=>Tom)

array_count_values

统计值次数

array_count_values(array(“Tom”, “Jack”))

Array([Tom]=>1 [Jack]=>1)

array_rand

随机取出键

array_rand(array(“Tom”, “Jack”))

1

array_unique

删除重复值,返回剩余数组

array_unique(array(“Tom”, “Jack”))

Array(“Tom”, “Jack”)

5、数组排序

8个

函数

说明

举例

结果

sort

升序值排序,不保留键名

sort(array(“Dog”=>“Tom”, “Cat”=>“Jack”))

Array([0]=>Jack [1]=>Tom)

rsort

逆向排序,不保留键名

rsort(array(“Dog”=>“Tom”, “Cat”=>“Jack”))

Array([0]=>Tom [1]=>Jack)

asort

升序排序,保持索引关系

asort(array(“Dog”=>“Tom”, “Cat”=>“Jack”))

Array([Cat]=>Jack [Dog]=>Tom)

arsort

对数组逆向排序,保持索引关系

arsort(array(“Dog”=>“Tom”, “Cat”=>“Jack”))

Array([Dog]=>Tom [Cat]=>Jack)

ksort

键名排序

ksort(array(“Dog”=>“Tom”, “Cat”=>“Jack”))

Array([Cat]=>Jack [Dog]=>Tom)

krsort

逆向排序

krsort(array(“Dog”=>“Tom”, “Cat”=>“Jack”))

Array([Dog]=>Tom [Cat]=>Jack)

natsort

自然顺序排序

natsort(array(“Dog”=>“Tom”, “Cat”=>“Jack”))

Array([Cat]=>Jack [Dog]=>Tom)

natcasesort

自然排序,不区分大小写

natcasesort(array(“Dog”=>“Tom”, “Cat”=>“Jack”))

Array([Cat]=>Jack [Dog]=>Tom)

四、文件系统函数

39个

1、文件属性

9个

函数

说明

举例

结果

file_exists

检查文件或目录是否存在

file_exists(“demo.txt”)

1

filesize

文件大小byte

filesize(“demo.txt”)

18

is_readable

文件是否可读

is_readable(“demo.txt”)

1

is_writable

文件是否可写

is_writable(“demo.txt”)

1

is_executable

文件是否可执行

is_executable(“demo.txt”)

1

filectime

文件创建时间

filectime(“demo.txt”)

1552228956

filemtime

文件的修改时间

filemtime(“demo.txt”)

1552228956

fileatime

上次访问时间

fileatime(“demo.txt”)

1552228956

stat

文件属性

stat(“demo.txt”)

Array


2、文件操作

16个

函数

说明

举例

结果

fopen

打开文件或者 URL

fopen(“demo.txt”, “r”)

$handle

fclose

关闭文件指针

fclose($handle)

true/false

fwrite

写入文件

fwrite($handle, $data)

-

fputs

写入文件(同上)

-

-

feof

文件指针是否到了文件结束的位置

feof($handle)

1

fgets

从文件指针中读取一行

fgets($handle)

$line

fgetc

从文件指针中读取字符

fgetc($handle)

$char

file

读入整个文件到数组

file(“demo.txt”)

$lines

readfile

读入一行

readfile(“demo.txt”)

$line

file_get_contents

整个文件读入一个字符串

file_get_contents(“demo.txt”)

$content

file_put_contents

将字符串写入文件

file_put_contents(“demo.txt”, $data)

-

ftell

返回文件指针读/写的位置

 

 

fseek

在文件指针中定位

 

 

rewind

倒回文件指针的位置

 

 

flock

轻便的执行文件锁定

 

 

fread

读取字符

fread($handle, 3)

$chars


3、目录

12个

函数

说明

举例

结果

basename

返回文件名

basename(“root/demo.txt”)

demo.txt

dirname

返回目录

dirname(“root/demo.txt”)

root

pathinfo

文件信息

pathinfo(“root/demo.txt”)

Array([dirname] => root [basename] => demo.txt [extension] => txt [filename] => demo)

opendir

打开目录句柄

opendir(’/’)

$dir_handle

readdir

从目录句柄中读取条目

readdir($dir_handle)

 

closedir

关闭目录句柄

closedir($dir_handle)

 

rewinddir

目录流重置到目录的开头

rewinddir($dir_handle)

 

mkdir

新建目录

 

 

rmdir

删除目录

 

 

unlink

删除文件

 

 

copy

拷贝文件

 

 

rename

重命名一个文件或目录

 



4、文件的上传与下载

2个

函数

说明

举例

结果

is_uploaded_file

判断文件是否是通过 HTTP POST上传的

 

 

move_uploaded_file

将上传的文件移动到新位置

 

五、时间

9个

函数

说明

举例

结果

time

时间戳

time()

1552231653

mktime

取得时间戳

mktime(0, 0, 0, 4, 25, 2012)

1335283200

date

时间格式化

date(‘Y年m月d日 H:i:s’)

2019年03月10日 23:28:12

checkdate

验证一个格里高里日期

 

 

date_default_timezone_set

设定默认时区

 

 

getdate

取得日期/时间信息

getdate()

Array

strtotime

将任何英文文本的日期时间描述解析为 Unix 时间戳

strtotime(“last Monday”)

1551628800

microtime

返回当前 Unix 时间戳和微秒数

microtime()

0.64341300 1552232106

sleep

休息

sleep(3)

-


六、其他函数

3个

函数

说明

举例

结果

intval

获取变量的整数值

intval(“1111”, 2); intval(“20”)

15 ; 20

isset

检测变量是否设置

isset($hi)

false

empty

检查一个变量是否为空

empty($hi)

true

json_encode

对变量进行JSON编码

json_encode([‘name’=>‘Tom’])

{“name”:“Tom”}

json_decode

JSON解码返回对象

json_decode(’{“name”:“Tom”}’))

object(stdClass){[“name”]=>“Tom”}

json_decode

JSON解码返回数组

json_decode(’{“name”:“Tom”}’, true)

array(1) {[“name”]=>“Tom”}


参考:

Php 常用内置函数总结

相关文章
|
3月前
|
PHP 开发者
PHP计算过去一定时间段内日期范围函数
这个函数为开发者提供了一个快速而简单的方法来获取与当前日期相关的过去时间范围,代码简洁易懂,可复用性高。
125 15
|
5月前
|
PHP 开发者 索引
探究PHP中常见数组操作函数
在编码实践中,合理利用这些数组操作函数可以简化编程工作,提升代码的效率和可读性。为达到最佳实践,开发者应该通过阅读官方文档来深入理解每个函数的工作原理以及如何在不同的场景下运用它们。
189 8
php常见问题,php.ini文件不存在或者找不到,mb_strlen()函数未定义系列问题,dll模块找不到的解决
本文介绍了解决PHP常见问题的步骤,包括定位和创建`php.ini`文件,以及解决`mb_strlen()`函数未定义和DLL模块加载错误的具体方法。
php常见问题,php.ini文件不存在或者找不到,mb_strlen()函数未定义系列问题,dll模块找不到的解决
|
关系型数据库 MySQL 数据库连接
PHP内置函数
PHP内置函数
143 5
|
存储 API PHP
php学习笔记-php数组的创建和使用,数组常用函数-day03
关于PHP数组的创建、使用以及常用函数的详细学习笔记。
php学习笔记-php数组的创建和使用,数组常用函数-day03
|
Unix PHP 数据库
PHP日期和时间Date()函数获取当前时间
通过灵活运用 `date()`函数及其丰富的格式选项,PHP开发者可以轻松地在应用程序中处理和展示日期及时间信息。无论是需要精确到秒的完整时间戳,还是仅仅展示日期或时间的某一部分,`date()`函数都能胜任。理解并熟练应用这些格式化技巧,对于提升代码的可读性和维护性至关重要。
262 1
|
Linux PHP
Linux CentOS 宝塔 Suhosin禁用php5.6版本eval函数详细图文教程
【8月更文挑战第27天】本文介绍两种禁用PHP执行的方法:使用`PHP_diseval_extension`禁用和通过`suhosin`禁用。由于`suhosin`不支持PHP8,仅适用于PHP7及以下版本,若服务器安装了PHP5.6,则需对应安装`suhosin-0.9.38`版本。文章提供了详细的安装步骤,并强调了宝塔环境下与普通环境下的PHP路径差异。安装完成后,在`php.ini`中添加`suhosin.so`扩展并设置`executor.disable_eval = on`以禁用执行功能。最后通过测试代码验证是否成功禁用,并重启`php-fpm`服务生效。
397 2
|
JavaScript 前端开发 PHP
php学习笔记-php字符串及字符串常用函数总结-day04
本文总结了PHP中字符串的三种定义方式和常用字符串处理函数,包括字符串的修剪、转换、长度计算、子串操作、比较、连接、分割及替换等操作。
|
设计模式 存储 算法
PHP中的设计模式:策略模式的深入解析与应用在软件开发的浩瀚海洋中,PHP以其独特的魅力和强大的功能吸引了无数开发者。作为一门历史悠久且广泛应用的编程语言,PHP不仅拥有丰富的内置函数和扩展库,还支持面向对象编程(OOP),为开发者提供了灵活而强大的工具集。在PHP的众多特性中,设计模式的应用尤为引人注目,它们如同精雕细琢的宝石,镶嵌在代码的肌理之中,让程序更加优雅、高效且易于维护。今天,我们就来深入探讨PHP中使用频率颇高的一种设计模式——策略模式。
本文旨在深入探讨PHP中的策略模式,从定义到实现,再到应用场景,全面剖析其在PHP编程中的应用价值。策略模式作为一种行为型设计模式,允许在运行时根据不同情况选择不同的算法或行为,极大地提高了代码的灵活性和可维护性。通过实例分析,本文将展示如何在PHP项目中有效利用策略模式来解决实际问题,并提升代码质量。