资讯专栏INFORMATION COLUMN

PHP基础知识小结

RancherLabs / 3354人阅读

原始数据类型(9种)

基本数据类型: 整形(integer)、浮点型(float)、字符串(string)、布尔型(boolean)

复合数据类型:数组(array)、对象(object)、callable(可调用)

特殊数据类型:资源类型(resource) 和 NULL


变量相关处理函数

is_bool($var)        判断是否为布尔型

is_int($var)          判断是否为整型

is_float($var)      判断是否为浮点型

is_numeric($var)   判断是否为数值或数值字符串

is_string($var)     判断是否为字符串

is_array($var)       判断是否为数组

is_object($var)     判断是否为对象

is_resource($var)  判断是否为资源类型

is_null($var)         判断是否为NULL

gettype($var)         获取变量的类型


empty($var)   判断是否为空

isset($var)   判断是否存在

unset($var)   删除变量


intval($var)      强制转换为整型

floatval($var)  强制转换为浮点型

boolval($var)    强制转换为布尔型

strval($var)      强制转换为字符串

(int)$var         强转为整型

(bool)$var       强转为布尔值

(float)$var     强转为浮点型

(string)$var   强转为字符串

(array)$var     强转为数组

(object)$var   强转为对象

(unset)$var     强转为NULL


print_r($var)            打印数组

var_dump($var)          打印变量详细信息

var_export($var)      返回格式化的php代码(不执行),例如var_export($arr)


serialize($var)            变量序列化为字符串

unserialize($var)        反序列化


 字符串相关处理函数 

addslashes()   对字符串内的单双引号,反斜杠,NULL前面加进行转义

htmlspecialchars()   可转义< > " " & ,默认未开启转义单引号

strip_tags()   去除字符串中的html和php标签

md5()   将字符串进行md5加密

sha1()   返回SHA-1散列,默认生成40字符十六进制数

uniqid(前缀,如果是true则为23字符)   根据系统微妙数生成唯一id,但是并不是很保险,推荐用下面的

md5(uniqid(mt_rand(), true))


nl2br() 将字符串中的 转换为

trim()   移除两边空白符,可以使用第二个参数指定移除某个字符串

ltrim() 移除左边空白符,可以使用第二个参数指定移除某个字符串

rtrim() 移除右边空白符,可以使用第二个参数指定移除某个字符串


chr()   根据ASCII码返回对应字符

ord()   根据字符返回对应ASCII码


count_chars($str,1) 统计字符串中每个字符的出现的次数,返回数组

strlen() 返回字符串的长度

str_word_count() 统计字符串中的单词数量

substr_count("hello 666 hello", "hello") 统计字符串中子串的数量


echo   是一个语法结构

print  是一个语法结构


str_split("abcdefg")   将字符串每个字符拆分为索引数组,第二个参数可以指定每个的长度array([0] => "a", [1]=>"b" ...)

explode(",", $str)   将字符串根据指定字符拆分为数组

implode(",", $arr)   将数组用指定字符连接接为字符串,同join


strtolower()   字符串转为全小写

strtoupper()   字符串转为全大写

ucfirst()   首字母大写

lcfirst()   首字母小写

ucwords()   每个单词首字母大写


strchr("hello world hello world", "world")   截取字符串第一次出现world到字符串结尾的部分,等同于strstr

stristr()   匹配时不区分大小写

strrchr()   匹配最后一次到结尾

substr($str, start, length)   字符串截取


strpos("hello world", "world")   返回world在字符串中第一次出现的位置

strrpos()   匹配最后一次出现的位置

stripos()   匹配时不区分大小写


str_replace("word", "world", "hello word")   字符串替换

str_ireplace()   不区分大小写替换


str_repeat("我6", 3)   字符串重复

str_shuffle()   随机打乱字符串中的字符

strrev()   字符串反转


数组相关处理函数

array()   创建数组


array_keys()   返回所有键名

array_values()   返回所有的值

array_column($arr, "name")   返回数组中某一列的值,第三个参数为指定某一列作为键名

array_rand($arr, 1)   随机返回数组中一个或多个键名


合并与拆分

array_merge()   将多个数组合并为一个数组,如果是索引数组则第二个追加到第一个前面,如果是关联数组则相同键名的后面覆盖前面

array_replace()   和array_merge区别:处理索引数组时也会合并而不是追加,处理关联数组基本一样

array_replace_recursive($a1,$a2)   递归用后面数组的值替换前面数组的值

array_chunk($arr, 2)   将数组分割为指定数目的子数组


统计

array_count_values()   统计数组中每个值出现的次数


比较

array_diff($arr1,$arr2,$arr3)   返回多个数组的差集,只比较键值

array_diff_key($arr1,$arr2,$arr3)   返回多个数组的差集,只比较键名

array_diff_assoc($arr1,$arr2,$arr3)   返回多个数组的差集,比较键名和键值

**`array_intersect()返回多个数组的交集,只比较键值

array_intersect_key($arr1,$arr2,$arr3)   返回多个数组的交集,只比较键名

array_intersect_assoc($arr1,$arr2,$arr3)   返回多个数组的交集,比较键名和键值


操作:

array_flip()   数组键值对调

array_reverse()   数组数据顺序颠倒

array_pop()   删除数组最后一个元素

array_shift()   删除数组的第一个元素

array_unshift($arr,"blue","yellow")   向数组开头新增一个或多个元素

array_push($arr,"blue","yellow")   数组末尾追加一个或多个值,返回数组长度

array_slice($arr, start, length)   数组截取

array_sum()   数组数据求和

array_unique()   数组去重

shuffle()   打乱数组

count()   数组长度

list()   将数组中的值依次赋值给变量

range("a","z")   生成指定范围的数组


是否存在:

array_key_exists("name",$arr)   检查某个键名是否存在

in_array("fsm", $arr)   检查某个值是否存在,第三个参数如果为true,则同时校验类型


搜索:

array_search("red",$arr)   根据值返回键名

key($arr)   获取数组当前的键名

current($arr)   获取数组当前的值


排序:       按照值:

sort()   升序

rsort()   降序

asort()   索引数组升序

arsort()   索引数组降序

      按照键:

ksort()   按键升序

krsort()   按键降序


日期时间相关处理函数
      设置时区

php.ini date.timezone = PRC   

date_default_timezone_set("PRC");    // Asia/Shanghai

ini_set("date.timezone", "Asia/Shanghai");   


time()    返回当前时间戳

date("Y-m-d H:i:s")    格式化本地的时间或者日期,(y-n-j不带前导零 w星期几 z一年中第几天 t月总天数 L是否闰年 a:am或pm)

getdate()    根据时间戳返回日期时间信息数组

strtotime()     将英文时间字符串解析为时间戳(2018-11-27 11:05:23, now, +1 week 2 days 4 hours 2 seconds, next Thursday, last Monday)

mktime(hour, minute, second, month, day, year)   取得一个日期的时间戳

microtime()   返回当前时间戳和微秒数0.50091600 1543288331

gettimeofday(true)   取得当前时间戳和和前三位或四位微秒1543289052.4254

checkdate(month, day, year)   验证日期合法性(月日年为必填)


目录和文件相关处理函数

getcwd()   返回当前文件所在目录的绝对路径

scandir()   数组形式返回目录中的所有子目录和子文件


basename()   返回路径中的文件名部分

dirname()   返回路径中的目录部分

pathinfo()   数组形式返回文件的信息


mkdir()   创建目录

copy(a, b)   复制文件

rename(oldname, newname)   重命名文件或文件夹

unlink()   删除文件

rmdir()   删除空目录

move_uploaded_file(file,newloc)   将上传的文件移动到新位置


file_exists()   检查文件或目录是否存在

file_get_contents()   将文件读入一个字符串

file_put_contents(filename, data)   将字符串写入一个文件


filesize()   返回文件的大小

filetype()   返回文件的类型


is_file()   判断是否为普通文件

is_link()   判断是否为链接文件


URL相关处理函数

urlencode()   url编码

urldecode()   url解码


base64_encode()   base64编码

base64_decode()   base64反编码


http_build_query($arr)   将数组编码成url参数字符串

parse_str("name=Bill&age=60", $arr)   将url参数字符串解析保存为数组


parse_url("http://php.net/manual/en/function.parse-url.php?name=12234456&time=baga")   将url地址信息解析为数组,数组中的query可以作为parse_str的参数


数学相关处理函数

abs()   绝对值

ceil()   向上取整

floor()   向下取整

fmod()   返回除法浮点数余数

max()   最大值

min()   最小值

pi()   圆周率

pow(x,y)   x的y次方

sqrt()   平方根

round()   四舍五入

rand(low, high)   返回随机整数

is_nan()   判断是否为 非数值


魔术常量(预定义常量)

__FILE__   返回文件的完整路径和文件名(绝对路径),如果用在被包含的文件中,则返回被包含的文件名

__DIR__   返回文件所在目录,等价于dirname(__FILE__)

__NAMESPACE__   返回当前命名空间

__CLASS__   返回当前类名

__METHOD__   返回当前方法名

__FUNCTION__   返回当前函数名


魔术方法

__construct()   实例化类时自动调用。

__destruct()   类对象使用结束时自动调用。

__set()   在给未定义的属性赋值的时候调用。

__get()   调用未定义的属性时候调用。

__isset()   使用isset()或empty()函数时候会调用。

__unset()   使用unset()时候会调用。

__clone()   当使用clone复制一个对象时候调用。


超全局变量(预定义变量)

$_SERVER   服务器和执行环境信息

$_GET   get方式传递的数据

$_POST   post方式传递的数据

$_FILES   http文件上传信息

$_COOKIE   http cookies

$_SESSION   session变量

$_REQUEST   默认包含get post cookies

$GLOBALS   全局变量


其他函数

function_exists()   检查函数是否存在

class_exists()   检查类是否存在

method_exists(obj, method_name)   检查方法是否存在


header()   发送HTTP报头(Location:)


define()   定义一个常量

defined()   检查一个常量是否存在


die() exit()   输出消息并退出脚本

sleep()   程序延迟执行若干秒

usleep()   程序延迟执行若干微秒


文章版权归作者所有,未经允许请勿转载,若此文章存在违规行为,您可以联系管理员删除。

转载请注明本文地址:https://www.ucloud.cn/yun/29720.html

相关文章

  • PHP的openssl加密扩展使用小结

    摘要:非对称加密与对称加密相对的是非对称加密,非对称加密的核心思想是使用一对相对的密匙,分为公匙和私匙,私匙自己安全保存,而将公匙公开。 引言 互联网的发展史上,安全性一直是开发者们相当重视的一个主题,为了实现数据传输安全,我们需要保证:数据来源(非伪造请求)、数据完整性(没有被人修改过)、数据私密性(密文,无法直接读取)等。虽然现在已经有SSL/TLS协议实现的HTTPS协议,但是因在客户...

    dockerclub 评论0 收藏0
  • PHP日常开发小结

    摘要:参考一些博主的经验和自己的开发经验进行总结持续更新。优先使用和集合来操作和处理数据。 参考一些博主的经验和自己的开发经验进行总结-持续更新ing。 功能设计 功能尽量模块化; 类的设计尽量单一,函数功能单一; 需要uml图(类图、时序图、组件图)、文档沉淀; 编写风格 遵循PSR-1 基础编码规范https://laravel-china.org 遵循PSR-2 编码风格规范h...

    xfee 评论0 收藏0
  • JavaScript面试基础小结(高手请无视)

    摘要:事件委托得到如下一个监听,多个函数绑定标签的属性并不被同源策略同协议域名端口所约束,所以可以获取任何服务器上脚本并执行。从上面的代码可以得知,是引用对象,而且是可以更改指定的对象。我记不住的,请求出现语法错误。,服务器拒绝请求。 事件委托 ul#wrap>li.item$*2>{item $} 得到如下 html item 1 item 2 一个监听,多个...

    testbird 评论0 收藏0
  • PHP7新特性小结

    摘要:标量类型声明在中,引入了一个新的特性,即标量类型声明。弃用样式构造函数是与它们定义的类具有相同名称的方法,现在已被弃用,并且将来将被删除。 showImg(https://segmentfault.com/img/remote/1460000012438557?w=1024&h=456); 说明 PHP 7使用新的Zend Engine 3.0将应用程序性能提高近两倍,内存消耗比PHP...

    Steven 评论0 收藏0
  • 大话转岗 PHP 开发小结

    摘要:错误是运行期间的严重问题,通常是因为代码出错而造成,必须要修正它,否则会使停止执行。警告是非致命错误,程序执行也不会因此而中止。 showImg(https://segmentfault.com/img/remote/1460000018197894?w=720&h=398); 前言 近期因公司内部转岗,开始参与PHP项目进行后端开发,一直都是强类型写的比较多,弱类型语言也有接触了一些...

    Cristic 评论0 收藏0

发表评论

0条评论

RancherLabs

|高级讲师

TA的文章

阅读更多
最新活动
阅读需要支付1元查看
<