前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >PHP String、Array、Object、Date 常用方法小结

PHP String、Array、Object、Date 常用方法小结

作者头像
老猫-Leo
发布2023-12-11 20:43:30
1710
发布2023-12-11 20:43:30
举报
文章被收录于专栏:前端大全前端大全

  大自然的搬运工!PHP 字符串、数组、对象、时间常用方法小结。

字符串(String)

函数

描述

addcslashes()

返回在指定的字符前添加反斜杠的字符串。

addslashes()

返回在预定义的字符前添加反斜杠的字符串。

bin2hex()

把 ASCII 字符的字符串转换为十六进制值。

chop()

删除字符串右侧的空白字符或其他字符。

chr()

从指定的 ASCII 值返回字符。

chunk_split()

把字符串分割为一系列更小的部分。

convert_cyr_string()

把字符串由一种 Cyrillic 字符集转换为另一种。

convert_uudecode()

解码 uuencode 编码字符串。

convert_uuencode()

使用 uuencode 算法对字符串进行编码。

count_chars()

返回有关字符串中所用字符的信息。

crc32()

计算字符串的 32 位 CRC。

crypt()

单向的字符串加密法(hashing)。

echo()

输出一个或多个字符串。

explode()

把字符串打散为数组。

fprintf()

把格式化的字符串写入到指定的输出流。

get_html_translation_table()

返回由 htmlspecialchars() 和 htmlentities() 使用的翻译表。

hebrev()

把希伯来文本转换为可见文本。

hebrevc()

把希伯来文本转换为可见文本,并把新行(\n)转换为 <br>。

hex2bin()

把十六进制值的字符串转换为 ASCII 字符。

html_entity_decode()

把 HTML 实体转换为字符。

htmlentities()

把字符转换为 HTML 实体。

htmlspecialchars_decode()

把一些预定义的 HTML 实体转换为字符。

htmlspecialchars()

把一些预定义的字符转换为 HTML 实体。

implode()

返回由数组元素组合成的字符串。

join()

implode() 的别名。

lcfirst()

把字符串的首字符转换为小写。

levenshtein()

返回两个字符串之间的 Levenshtein 距离。

localeconv()

返回本地数字及货币格式信息。

ltrim()

移除字符串左侧的空白字符或其他字符。

md5()

计算字符串的 MD5 散列。

md5_file()

计算文件的 MD5 散列。

metaphone()

计算字符串的 metaphone 键。

money_format()

返回格式化为货币字符串的字符串。

nl_langinfo()

返回特定的本地信息。

nl2br()

在字符串中的每个新行之前插入 HTML 换行符。

number_format()

以千位分组来格式化数字。

ord()

返回字符串中第一个字符的 ASCII 值。

parse_str()

把查询字符串解析到变量中。

print()

输出一个或多个字符串。

printf()

输出格式化的字符串。

quoted_printable_decode()

把 quoted-printable 字符串转换为 8 位字符串。

quoted_printable_encode()

把 8 位字符串转换为 quoted-printable 字符串。

quotemeta()

引用元字符。

rtrim()

移除字符串右侧的空白字符或其他字符。

setlocale()

设置地区信息(地域信息)。

sha1()

计算字符串的 SHA-1 散列。

sha1_file()

计算文件的 SHA-1 散列。

similar_text()

计算两个字符串的相似度。

soundex()

计算字符串的 soundex 键。

sprintf()

把格式化的字符串写入变量中。

sscanf()

根据指定的格式解析来自字符串的输入。

str_getcsv()

把 CSV 字符串解析到数组中。

str_ireplace()

替换字符串中的一些字符(对大小写不敏感)。

str_pad()

把字符串填充为新的长度。

str_repeat()

把字符串重复指定的次数。

str_replace()

替换字符串中的一些字符(对大小写敏感)。

str_rot13()

对字符串执行 ROT13 编码。

str_shuffle()

随机地打乱字符串中的所有字符。

str_split()

把字符串分割到数组中。

str_word_count()

计算字符串中的单词数。

strcasecmp()

比较两个字符串(对大小写不敏感)。

strchr()

查找字符串在另一字符串中的第一次出现。(strstr() 的别名。)

strcmp()

比较两个字符串(对大小写敏感)。

strcoll()

比较两个字符串(根据本地设置)。

strcspn()

返回在找到某些指定字符的任何部分之前,在字符串中查找的字符数。

strip_tags()

剥去字符串中的 HTML 和 PHP 标签。

stripcslashes()

删除由 addcslashes() 函数添加的反斜杠。

stripslashes()

删除由 addslashes() 函数添加的反斜杠。

stripos()

返回字符串在另一字符串中第一次出现的位置(对大小写不敏感)。

stristr()

查找字符串在另一字符串中第一次出现的位置(大小写不敏感)。

strlen()

返回字符串的长度。

strnatcasecmp()

使用一种"自然排序"算法来比较两个字符串(对大小写不敏感)。

strnatcmp()

使用一种"自然排序"算法来比较两个字符串(对大小写敏感)。

strncasecmp()

前 n 个字符的字符串比较(对大小写不敏感)。

strncmp()

前 n 个字符的字符串比较(对大小写敏感)。

strpbrk()

在字符串中查找一组字符的任何一个字符。

strpos()

返回字符串在另一字符串中第一次出现的位置(对大小写敏感)。

strrchr()

查找字符串在另一个字符串中最后一次出现。

strrev()

反转字符串。

strripos()

查找字符串在另一字符串中最后一次出现的位置(对大小写不敏感)。

strrpos()

查找字符串在另一字符串中最后一次出现的位置(对大小写敏感)。

strspn()

返回在字符串中包含的特定字符的数目。

strstr()

查找字符串在另一字符串中的第一次出现(对大小写敏感)。

strtok()

把字符串分割为更小的字符串。

strtolower()

把字符串转换为小写字母。

strtoupper()

把字符串转换为大写字母。

strtr()

转换字符串中特定的字符。

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_key_exists()

检查指定的键名是否存在于数组中。

array_keys()

返回数组中所有的键名。

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()

从关联数组中取得键名。

krsort()

对数组按照键名逆向排序。

ksort()

对数组按照键名排序。

list()

把数组中的值赋给一些变量。

natcasesort()

用“自然排序”算法对数组进行不区分大小写字母的排序。

natsort()

用“自然排序”算法对数组排序。

next()

将数组中的内部指针向前移动一位。

pos()

current() 的别名。

prev()

将数组的内部指针倒回一位。

range()

创建包含指定范围单元的数组。

reset()

将数组的内部指针指向第一个元素。

rsort()

对数组逆向排序。

shuffle()

将数组打乱。

sizeof()

count() 的别名。

sort()

对数组排序。

uasort()

使用用户自定义的比较函数对数组中的键值进行排序。

uksort()

使用用户自定义的比较函数对数组中的键名进行排序。

usort()

使用用户自定义的比较函数对数组进行排序。


时间(Date)

函数

描述

checkdate()

验证格利高里日期。

date_add()

添加日、月、年、时、分和秒到日期。

date_create_from_format()

返回根据指定格式进行格式化的新的 DateTime 对象。

date_create()

返回新的 DateTime 对象。

date_date_set()

设置新日期。

date_default_timezone_get()

返回由所有的 Date/Time 函数使用的默认时区。

date_default_timezone_set()

设置由所有的 Date/Time 函数使用的默认时区。

date_diff()

返回两个日期间的差值。

date_format()

返回根据指定格式进行格式化的日期。

date_get_last_errors()

返回日期字符串中的警告/错误。

date_interval_create_from_date_string()

从字符串的相关部分建立 DateInterval。

date_interval_format()

格式化时间间隔。

date_isodate_set()

设置 ISO 日期。

date_modify()

修改时间戳。

date_offset_get()

返回时区偏移。

date_parse_from_format()

根据指定的格式返回带有关于指定日期的详细信息的关联数组。

date_parse()

返回带有关于指定日期的详细信息的关联数组。

date_sub()

从指定日期减去日、月、年、时、分和秒。

date_sun_info()

返回包含有关指定日期与地点的日出/日落和黄昏开始/黄昏结束的信息的数组。

date_sunrise()

返回指定日期与位置的日出时间。

date_sunset()

返回指定日期与位置的日落时间。

date_time_set()

设置时间。

date_timestamp_get()

返回 Unix 时间戳。

date_timestamp_set()

设置基于 Unix 时间戳的日期和时间。

date_timezone_get()

返回给定 DateTime 对象的时区。

date_timezone_set()

设置 DateTime 对象的时区。

date()

格式化本地日期和时间。

getdate()

返回某个时间戳或者当前本地的日期/时间的日期/时间信息。

gettimeofday()

返回当前时间。

gmdate()

格式化 GMT/UTC 日期和时间。

gmmktime()

返回 GMT 日期的 UNIX 时间戳。

gmstrftime()

根据区域设置对 GMT/UTC 日期和时间进行格式化。

idate()

将本地时间/日期格式化为整数。

localtime()

返回本地时间。

microtime()

返回当前时间的微秒数。

mktime()

返回日期的 Unix 时间戳。

strftime()

根据区域设置对本地时间/日期进行格式化。

strptime()

解析由 strftime() 生成的时间/日期。

strtotime()

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

time()

返回当前时间的 Unix 时间戳。

timezone_abbreviations_list()

返回包含夏令时、偏移量和时区名称的关联数组。

timezone_identifiers_list()

返回带有所有时区标识符的索引数组。

timezone_location_get()

返回指定时区的位置信息。

timezone_name_from_abbr()

根据时区缩略语返回时区名称。

timezone_name_get()

返回时区的名称。

timezone_offset_get()

返回相对于 GMT 的时区偏移。

timezone_open()

创建新的 DateTimeZone 对象。

timezone_transitions_get()

返回时区的所有转换。

timezone_version_get()

返回时区数据库的版本。


其他(Others)

代码语言:javascript
复制
// 时间
$startDate = "2020-01-01 12:00:00"; // 开始时间
$endDate = "2020-02-02 11:00:00"; // 结束时间
(strtotime($endDate) - strtotime($startDate)); // 计算相差之秒数
round((strtotime($endDate) - strtotime($startDate)) / 60); // 计算相差之分钟数
round((strtotime($endDate) - strtotime($startDate)) / (60 * 60), 2); // 计算相差之小时数
round((strtotime($endDate) - strtotime($startDate)) / (60 * 60 * 24), 2); // 计算相差之天数
$startDt = date('Y-m-01 00:00:00', strtotime($searchMonth));
$endDt = date('Y-m-d H:i:s', strtotime($startDt . "+1 month -1 day"));
// hour,week,month,year 等加不加 s 都可以。
echo(strtotime("now")); // 现在时间
echo(strtotime("+5 hours")); // 现在时间 +5 小时
echo(strtotime("+2 week")); // 现在时间 +2 星期
echo(strtotime("+2 months")); // 现在时间 +2 月
echo(strtotime("+1 week 3 days 7 hours 40 minutes 5 seconds")); // 现在时间 +1 星期 3 天 7 小时 40 分钟 5 秒
echo(strtotime("next Monday")); // 下个星期的星期一
echo(strtotime("last Sunday")); // 上个星期的星期天

------------------------------------------------------

// 数组
array_intersect($a1, $a2); //比较数组,返回交集(只比较键值)。
array_intersect_assoc($a1, $a2); // 比较数组,返回交集(比较键名和键值)。
array_intersect_key($a1, $a2); // 比较数组,返回交集(只比较键名)。
array_column($input, 'value', 'key');
array_diff($a1, $a2); // 比较数组,返回差集(只比较键值)。
array_diff_assoc($a1, $a2); // 比较数组,返回差集(比较键名和键值)。
array_diff_key($a1, $a2); // 比较数组,返回差集(只比较键名)。
array_combine(keys, values); // 函数通过合并两个数组来创建一个新数组,其中的一个数组是键名,另一个数组的值为键值。
array_merge($a1, $a2); // 把一个或多个数组合并为一个数组。
array_unique($a1); // 删除数组中的重复值
array_values($a1); // 返回数组中所有的值。
array_keys($a1); // 返回数组中所有的键名。
array_flip($a1); // 反转数组 keyvalue交换
array_slice((array) $output, $start, $count); // 裁剪数组
/**
 * 数组排序
**/
function sortArrByField(&$array, $field, $desc = false) {
  $fieldArr = [];
  foreach ($array as $k => $v) {
    $fieldArr[$k] = $v[$field];
  }
  $sortType = $desc ? SORT_DESC : SORT_ASC;
  array_multisort($fieldArr, $sortType, $array);
}

------------------------------------------------------

// 其他
var_dump($obj, $obj->{123}); // 在 php 中,如果对象属性是数字,我们需要增加 `{}` 来获取值。

implode(",", $optSql); // = js join
explode(separator, string, limit[null => all, 0 => 1个, 0 => n个, 0 => n-1个]); // = js split

empty($var); // 如果 var 是非空或非零的值,则 empty() 返回 false。""、0、"0"、null、false、array() 以及没有任何属性的对象都将被认为是空的,如果 var 为空,则返回 true。
// 判断对象属性为可使用 isset 或者 get_object_vars [return count(array) === 0] 或者 empty。
isset($var1, $var1, ...); // isset 不是函数,是语句。检测变量是否设置,若使用 isset() 测试一个被设置成 null 的变量,将返回 false。同时要注意的是一个 NULL 字节("\0")并不等同于 PHP 的 null 常量。
// 如果检查一个数组中是否存在某个 key,当数组中存在这个 key 且 value 不为 null 时返回 true。
// 如果变量不存在,isset() 和 empty() 都不会报错。而 is_null() 和 is_numeric() 会报错,二者用来判断常量会报错,比如:null,true,false...
is_null($var); // 判断是否为 null。$var === null 更快。
本文参与 腾讯云自媒体分享计划,分享自作者个人站点/博客。
原始发表:2020-07-22,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 字符串(String)
  • 数组(Array)
  • 时间(Date)
  • 其他(Others)
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档