(转)PHP常用函数,php函数
来源 :http://www.cnblogs.com/dreamhome/archive/2011/05/04/2037011.html
----------------------------
<?php //===============================时间日期=============================== //y返回年最后两位,Y年四位数,m月份数字,M月份英文。d月份几号数字,D星期几英文 $date=date("Y-m-d"); $date=date("Y-m-d H:i:s");//带时分秒 //include,include_once.require,require_once //require("file.php") 在PHP程序执行前就会先读入require所指定引进的文件,如出现错误是致命的。 //include("file.php") 可以放在PHP程序的任何位置,PHP程序执行到时才读入include指定引入的文件,如出现错误会提示 //===============================输出打印===============================<br /> //sprintf("%d","3.2") ;//只格式化,返回格式化后的字符串,不输出。 //printf("%d","3.2") ;//即格式化,又输出 //print("3.2") ;//只输出 //echo "nihao","aa";//可以输出多个字符串 //print_r(array("a","b","c"));//将数组的键值与元素依次显示 //===============================常用字符串函数=============================== //获取字符串长度,有多少个字符,空格也算 $str=" sdaf sd "; $len=strlen($str); //用第一个参数里的字符串,把后面数组里的每个元素连接起来,返回一个字符串。 $str=implode("-",array("a","b","c")); //字符串分割方法,返回一个数组,用第一个参数里的字符分割后面的字符串,指定字符的前后和之间都截取,如果指定字符在开头或结尾则返回的数组开头或结尾的元素为空字符串 //没有分割到字符串就返回给数组对应元素一个空值。最后一个限制返回数组长度,可不限制,则一直分割下去。 $array=explode("a","asddad addsadassd dasdadfsdfasdaaa",4); //print_r($array); //剔除字符串左边开头的空格,并返回 //如有第二个参数则是剔除左边开头的空格换成剔除第二个参数里的字符串 $str=ltrim("a asd ","a"); //剔除字符串右边开头的空格 $str=rtrim(" asd "); //把第一个字符串两边以第二个参数开头的字符串剔除。如没有第二个参数,默认剔除掉字符串两边开头的空格 $str=trim(" sdsdfas ","a"); //从字符串第一个参数里的指定位置开始取多长(多少个)字符,字符串中第一个字符位置从0算。 //如果第二个参数为负则从字符串结尾倒数第几个开始取多长的字符串。结尾最后一个字符算-1,截取方向总是从左到右 $str=substr("abcdefgh",0,4); //将第三个参数的第一个参数字符串用参数二字符串替换 $str=str_replace("a","","abcabcAbca"); //与str_replace用法同,只是不区分大小写 //$str=str_ireplace("a"," ","abcabcAbca"); //返回括号里字符串的字符全部大写的字符串 $str=strtoupper("sdaf"); //将括号里第一个字符串变成大写后返回 $str=ucfirst("asdf"); //用echo等将括号里字符串打印在网页上时原汁原味打印出括号里的字符串,包括标签字符 $str=htmlentities("<br/>"); //返回第二个参数字符串在第一个字符串里出现的次数 $int=substr_count("abcdeabcdeablkabd","ab"); //返回第二个字符串在第一个字符串第一次出现的位置,第一个字符位置算0 $int=strpos("asagaab","ab"); //返回第二个字符串在第一个字符串最后一次出现的位置,第一个字符位置算0 $int=strrpos("asagaabadfab","ab"); //截取返回参数一中从左至右第一个出现的参数二到参数一最后一个字符的字符串 $str=strstr("sdafsdgaababdsfgs","ab"); //截取返回参数一中从左至右最后一个出现的参数二到参数一最后一个字符的字符串 $str=strrchr("sdafsdgaababdsfgs","ab"); //将参数二中每一个字符在参数一中相同字符前加"\" $str=addcslashes("abcdefghijklmn","akd"); //将参数一的字符串填充到参数二指定的长度(单字符个数),参数三为指定填充的字符串,不写默认空格 //参数四填充位置,0在参数一左侧开头填充,1右侧开头,2两边开头同时。不写默认在右侧开头填充 $str=str_pad("abcdefgh",10,"at",0); //依次比较两字符串对应字符阿斯克码值,第一对不一样的,如果参数一里大于参数二里的返回1,反之返回-1,两字符串完全一样返回0 $int1=strcmp("b","a"); //返回第一个参数格式化后的数字格式,第二个参数为保留几个小数,参数三为将小数点换成参数三,参数四为整数部分每三位用什么字符分割 //后面三个参数都不写,则默认去掉小数部分,整数每隔三位用逗号,分割。参数三,参数四必须同时存在 $str=number_format(1231233.1415,2,"d","a"); //===============================常用数组方法=============================== $arr=array("k0"=>"a","k1"=>"b","k2"=>"c"); //返回数组元素个数 $int=count($arr); //判断第二参数的数组元素中是否有第一个参数元素 $bool=in_array("b",$arr); //返回括号中数组所有键值组成的新数组原数组不改变 $array=array_keys($arr); //判断第二个参数的数组中是否有第一个参数的键值,返回真假 $bool=array_key_exists("k1",$arr); //返回原数组中所有元素值组成的新数组,键值从0开始自增,原数组不变 $array=array_values($arr); //返回当前数组指针指向的键值 $key=key($arr); //返回当前数组指针指向的元素值 $value=current($arr); //返回当前数组指针指向元素的键值及元素值组成的数组,再将指针推向下一位,最后指针指向的是一个空元素返回空 //返回的数组中有四个固定键值对应的元素值分别是返回元素的键值及元素值,其中0,'key'键值都对应返回元素键值,1,'value'键值都对应返回的元素值 $array=each($arr); //先将数组指针推向下一位,再返回指针移动后指向的元素值 $value=next($arr); //将数组指针推向上一位,再返回指针移动后指向的元素值 $value=prev($arr); //让数组指针重置指向第一个元素并返回元素值 $value=reset($arr); //将数组指针指向最后一位元素,并返回最后一位元素值 $value=end($arr); //将第一个参数以后的参数作为元素追加入第一个参数数组的末尾,索引从最小的没用过的数值开始计,返回之后的数组长度 $int=array_push($arr,"d","dfsd"); //将第一个参数数组后面所有参数作为元素添加到第一个参数数组开头处,键值以0从第一个元素处重新累加,原非数值的键值保持不变,原元素排序位置不变,返回之后的数组长度 $int=array_unshift($arr,"t1","t2"); //返回从数组尾部提取最后一个元素值,并把最后一个元素从原数组中剔除 $value=array_pop($arr); //array_pop相反,提取返回数组头一个元素值,并把头一个元素从原数组中剔除 $value=array_shift($arr); //让第一个参数数组达到第二个参数数值长度,将第三个参数作为元素添加到第一个参数数组的末尾,索引从最小没用过数值开始计并返回,原数组不改变 $array1=array_pad($arr,10,"t10"); //返回一个将原数组中多余重复元素剔除掉的新数组,原数组不改变 $array=array_unique($array1); //将原数组键值打破重新以元素值的阿斯克码值从小到大排序,索引从数字0开始重计 $int=sort($array); //和sort相反,以元素值阿斯柯码值大小降序重新排序,索引从0重新计 $int=rsort($array); //返回将第一个参数数组中每一个元素值依次作为键值付给参数二数组的数组,两数组长度必须一致,原数组不改变 $array=array_combine(array("a","b","c","d","e"),$arr); //将两个数组合并并返回原数组不变 $array=array_merge($arr,array("a","b","c")); //在第一个参数数组中从第二个参数数值位置开始截取到第三个参数数值长度的数组键值+元素并返回,数组第一个元素位置从0计 $array=array_slice($arr,2,1); //截取功能和array_slice()一样,只是将截取部分在原数组中剔除 $array=array_splice($arr,2,1); //将第一个参数作为第一个元素,每次自增参数三的值,自增后再作为一个元素存在数组中,直到值达到参数二的值存到数组中为止并返回这个数组 //参数一,参数二可以是数字,可以是单个字符,单字符就按阿斯柯码值算,第三个参数不写默认每次自增1 $array=range(3,9,2); //将原数组元素与对应键值的对应关系重新随机排列返回真假 $bool=shuffle($arr); //计算数组中所有数值型元素值的和 $int=array_sum(array("a",2,"cssf")); //把一个数组分割为新的数组块,新数组每个元素都是一个数组,新数组每个元素内有几个元素由参数二决定 //第三个参数决定元素的键值是否保留原键值可不写,true为保留,默认false不保留 $array=array_chunk(array("a"=>"a","b","c","d","e","f","g","h"),2,true); //json_encode()将数组转换成JSON格式字符串返回 $arr = array('k1'=>'val1','k2'=>'val2','k3'=>array('v3','v4')); echo $encode_str = json_encode($arr); //json_decode()将JSON格式字符串转换成对象或数组返回,具体返回类型由第二参数决定,第二参数默认值 false,JSON格式字符串中键与值需要引号括起来时必须用双引号 //如果返回类型为对象,第一次强制转换后的数组中某键值对应的元素还是数组,则在使用该键值对应的数组前依然要对该数组进行强制转换。JSON多维数组以此类推 $decode_arr = (array)json_decode($encode_str); var_dump($decode_arr);<br /> //或者不用强制转换,使用 对象->属性 的格式来访问 $decode_arr = json_decode($encode_str); var_dump($decode_arr->k1);<br /> //如果加第二个参数为 true 则自动后返回数组类型,不加第二参数默认为false $decode_arr = json_decode($encode_str, true); var_dump($decode_arr); //与json_encode()类似,将传递的参数以描述的格式序列化,但编码后的字符串不如json_encode()编码后的易读 $str = serialize($arr); var_dump($str); //与json_decode()功能类似,将serialize()格式化后的字符串转换回格式化前的变量,并且不用传第二参数就原模原样转换回去 $arr = unserialize($str); var_dump($arr); ?>

PHP類型提示提升代碼質量和可讀性。 1)標量類型提示:自PHP7.0起,允許在函數參數中指定基本數據類型,如int、float等。 2)返回類型提示:確保函數返回值類型的一致性。 3)聯合類型提示:自PHP8.0起,允許在函數參數或返回值中指定多個類型。 4)可空類型提示:允許包含null值,處理可能返回空值的函數。

PHP中使用clone關鍵字創建對象副本,並通過\_\_clone魔法方法定制克隆行為。 1.使用clone關鍵字進行淺拷貝,克隆對象的屬性但不克隆對象屬性內的對象。 2.通過\_\_clone方法可以深拷貝嵌套對象,避免淺拷貝問題。 3.注意避免克隆中的循環引用和性能問題,優化克隆操作以提高效率。

PHP適用於Web開發和內容管理系統,Python適合數據科學、機器學習和自動化腳本。 1.PHP在構建快速、可擴展的網站和應用程序方面表現出色,常用於WordPress等CMS。 2.Python在數據科學和機器學習領域表現卓越,擁有豐富的庫如NumPy和TensorFlow。

HTTP緩存頭的關鍵玩家包括Cache-Control、ETag和Last-Modified。 1.Cache-Control用於控制緩存策略,示例:Cache-Control:max-age=3600,public。 2.ETag通過唯一標識符驗證資源變化,示例:ETag:"686897696a7c876b7e"。 3.Last-Modified指示資源最後修改時間,示例:Last-Modified:Wed,21Oct201507:28:00GMT。

在PHP中,應使用password_hash和password_verify函數實現安全的密碼哈希處理,不應使用MD5或SHA1。1)password_hash生成包含鹽值的哈希,增強安全性。 2)password_verify驗證密碼,通過比較哈希值確保安全。 3)MD5和SHA1易受攻擊且缺乏鹽值,不適合現代密碼安全。

PHP是一種服務器端腳本語言,用於動態網頁開發和服務器端應用程序。 1.PHP是一種解釋型語言,無需編譯,適合快速開發。 2.PHP代碼嵌入HTML中,易於網頁開發。 3.PHP處理服務器端邏輯,生成HTML輸出,支持用戶交互和數據處理。 4.PHP可與數據庫交互,處理表單提交,執行服務器端任務。

PHP在過去幾十年中塑造了網絡,並將繼續在Web開發中扮演重要角色。 1)PHP起源於1994年,因其易用性和與MySQL的無縫集成成為開發者首選。 2)其核心功能包括生成動態內容和與數據庫的集成,使得網站能夠實時更新和個性化展示。 3)PHP的廣泛應用和生態系統推動了其長期影響,但也面臨版本更新和安全性挑戰。 4)近年來的性能改進,如PHP7的發布,使其能與現代語言競爭。 5)未來,PHP需應對容器化、微服務等新挑戰,但其靈活性和活躍社區使其具備適應能力。

PHP的核心優勢包括易於學習、強大的web開發支持、豐富的庫和框架、高性能和可擴展性、跨平台兼容性以及成本效益高。 1)易於學習和使用,適合初學者;2)與web服務器集成好,支持多種數據庫;3)擁有如Laravel等強大框架;4)通過優化可實現高性能;5)支持多種操作系統;6)開源,降低開發成本。


熱AI工具

Undresser.AI Undress
人工智慧驅動的應用程序,用於創建逼真的裸體照片

AI Clothes Remover
用於從照片中去除衣服的線上人工智慧工具。

Undress AI Tool
免費脫衣圖片

Clothoff.io
AI脫衣器

AI Hentai Generator
免費產生 AI 無盡。

熱門文章

熱工具

WebStorm Mac版
好用的JavaScript開發工具

記事本++7.3.1
好用且免費的程式碼編輯器

EditPlus 中文破解版
體積小,語法高亮,不支援程式碼提示功能

SublimeText3漢化版
中文版,非常好用

VSCode Windows 64位元 下載
微軟推出的免費、功能強大的一款IDE編輯器