当前位置: 首页 > 后端技术 > PHP

PHP基础知识总结

时间:2023-03-29 18:04:45 PHP

原始数据类型(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)判断是否为NULLgettype($var)获取变量类型empty($var)判断是否为空isset($var)判断是否有unset($var)删除变量intval($var)强制转换为整数floatval($var)强制为floatboolval($var)强制为booleanstrval($var)强制为string(int)$var强制为int(bool)$var强制为Boolean(float)$var强制为Float(string)$var强制toString(array)$varForcedtoArray(object)$varForcedtoObject(unset)$varForcedtoNULLprint_r($var)打印数组var_dump($var)打印变量详情var_export($var)返回格式化的php代码(不执行),比如var_export($arr)serialize($var)variableSerializetostringunserialize($var)deserializestring相关处理函数addslashes()转义单双引号,反斜杠,\htmlspecialchars()前面的NULL可以转义<>'"&,默认不启用转义单引号strip_tags()去掉html和php标签md5()加密字符串用md5sha1()返回SHA-1hash,默认生成40个字符的十六进制数uniqid(前缀,如果为真则为23个字符)根据系统微妙数生成唯一id,但不是非常安全,推荐使用下面的md5(uniqid(mt_rand(),true))nl2br()将字符串中的\n转换为
trim()去掉两边的空格,即可使用第二个参数指定去除某个字符串ltrim()去除左边的空白字符,可以使用第二个参数指定去除某个字符串rtrim()去除右边的空白字符,可以使用第二个参数指定去除某个字符串Stringchr()根据返回对应的字符ASCII码ord()根据字符返回对应的ASCII码count_chars($str,1)统计字符串中每个字符出现的次数,返回数组strlen()返回字符串的长度str_word_count()count字符串中的单词数substr_count('hello666hello','hello')统计字符串中子串的个数echo是语法结构print是语法结构str_split('abcdefg')spliteachstring字符被拆分成索引数组,第二个参数可以指定每个数组的长度([0]=>'a',[1]=>'b'...)explode(',',$str)将字符串拆分成anarrayaccordingtothespecifiedcharactersimplode(',',$arr)将数组与指定字符连接起来组成字符串,同joinstrtolower()将字符串全部转为小写strtoupper()将字符串全部转为大写ucfirst()首字母大写lcfirst()首字母小写ucwords()首字母大写rofeachwordstrchr('helloworldhelloworld','world')截取world第一次出现到字符串末尾的部分,相当于strstrstristr()匹配时不区分区分大小写strrchr()从最后一次匹配到结束substr($str,start,length)字符串截取strpos('helloworld','world')返回world在字符串中第一次出现的位置strrpos()匹配最后一次出现的位置stripos()不区分大小写str_replace('word','world','helloword')字符串替换str_ireplace()不区分大小写替换str_repeat('i6',3)个字符字符串重复str_shuffle()随机打乱字符串中的字符strrev()字符串反转数组相关处理函数array()创建数组array_keys()返回所有键名array_values()返回所有值array_column($arr,'name')返回a的值数组中的列,第三个参数是指定一列作为键名array_rand($arr,1)随机返回数组中的一个或多个键名合并和拆分array_merge()合并多个数组是一个数组,如果它是一个索引数组,第二个将附加到第一个的前面e、如果是关联数组,那么相同的键名会覆盖前面的。array_replace()和array_merge的区别:在处理索引数组时,也会合并而不是追加,处理后的关联数组基本相同后面数组的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()shuffle数组count()arraylengthlist()把数组中的值赋值给变量range('a','z')依次生成指定范围的数组是否存在:array_key_exists("name",$arr)检查一个key是否存在nameexistsin_array('fsm',$arr)检查某个值是否存在,如果第三个参数为真,则验证同时键入搜索:array_search("red",$arr)根据值返回键名key($arr)获取数组当前键名current($arr)获取数组当前值排序:根据值:sort()升序rsort()降序asort()索引数组升序arsort()索引数组根据key降序:ksort()ascendingorderbykeykrsort()descendingorderbykeydate和时间相关的处理函数设置Timezonephp.inidate.timezone=PRCdate_default_timezone_set("PRC");//Asia/Shanghaiini_set('date.timezone','Asia/Shanghai');time()返回当前时间戳date('Y-m-dH:i:s')格式化本地时间或日期,(y-n-j不带前导零w星期几z一年中的第几天t月份总天数L是闰年年份a:amorpm)getdate()根据时间戳返回日期时间信息数组strtotime()将英文时间字符串解析成时间戳(2018-11-2711:05:23,now,+1week2days4hours2seconds,nextThursday,lastMonday)mktime(hour,minute,second,month,day,year)获取一个日期的时间戳microtime()返回当前时间戳和微秒数0.500916001543288331gettimeofday(true)获取当前时间戳And以及前三四微秒1543289052.4254checkdate(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()判断是否为Link文件URL相关处理函数urlencode()url编码urldecode()url解码base64_encode()base64编码base64_decode()base64反编码http_build_query($arr)将数组编码成urlparameterstringparse_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)返回randomintegeris_nan()判断是否为非数字魔法常量(预定义常量)__FILE__返回文件的完整路径和文件名(绝对路径),如果在包含文件中使用,则返回包含文件名__DIR__返回目录文件所在位置,相当于dirname(__FILE__)__NAMESPACE__返回当前命名空间__CLASS__返回当前类名__METHOD__返回当前方法名__FUNCTION__返回当前函数名魔术方法__construct()__destruct()在使用类对象时自动实例化类时自动调用。__set()在为未定义的属性赋值时调用。__get()在调用未定义的属性时调用。__isset()将在使用isset()或empty()函数时被调用。__unset()将在使用unset()时被调用。__clone()在使用克隆复制对象时调用。超全局变量(预定义变量)$_SERVER服务器和执行环境信息$_GETget方法传递的数据$_POSTpost方法传递的数据$_FILEShttp文件上传信息$_COOKIEhttpcookies$_SESSION会话变量$_REQUEST默认包含getpostcookies$GLOBALS全局变量其他函数function_exists()检查一个函数是否存在class_exists()检查一个类是否存在method_exists(obj,method_name)检查一个方法是否存在header()发送HTTP头(位置:)define()定义一个常量defined()检查常量是否存在die()exit()输出消息并退出脚本sleep()延迟程序执行几秒usleep()延迟程序执行几微秒